Personal project / Document RAG
Document RAG for my portfolio
An assistant that answered questions about my portfolio from my documents, using ChromaDB on a VPS and a model accessed through an external API.
Which portfolio projects use vector search?
The document RAG project uses vector search to retrieve relevant passages before generating the answer [1][2].
- [1] RAG project
- [2] Document corpus
A concise view of a question moving through retrieval to a contextualised, sourced answer.
Context
I integrated this assistant into an earlier version of my portfolio so visitors could ask about my projects and Markdown notes without opening every page.
After local trials with Ollama, I kept retrieval on the VPS and moved generation to an external API.
How it worked
The system had two stages: preparing the documents, then retrieving relevant passages for each question.
Indexing
Markdown files were split into passages, converted into embeddings and indexed in ChromaDB. This preparation happened before queries were processed.
ChromaDB ran in Docker on a Linux VPS.
Preparing the Markdown corpus before queries: passages, embeddings and storage in ChromaDB.
Query
Node.js received the question and retrieved relevant passages from ChromaDB. It assembled a prompt with that context for the model called through the external API. The Astro interface then displayed the answer progressively.
Components
- Interface
- Astro
- Corpus
- Markdown
- Orchestration
- Node.js
- Retrieval
- ChromaDB
- Generation
- Model via external API
- Infrastructure
- Docker / Linux VPS for ChromaDB
Limitations
No quantitative measurements of quality, latency or coverage are available for this prototype.
Areas to evaluate
- corpus freshness and traceability;
- retrieval evaluation with representative questions;
- access control for non-public documents;
- source presentation and explicit handling of uncertainty.
