RAG pipeline for querying and analyzing software engineering case studies. Locally hosted with a FastAPI backend, React frontend, Pinecone vector DB, and SQLite for chat history.
- Python + Poetry
- Node.js + npm
- Pinecone account
- OpenAI API key
Create a .env file in the project root:
OPENAI_API_KEY=[insert key]
PINECONE_API_KEY=[insert key]
PINECONE_INDEX_NAME=dev-archive
PINECONE_INDEX_NAMESPACE=case-studies
cd server
pipx install poetry # skip if already installed
poetry config virtualenvs.in-project true
poetry install
eval $(poetry env activate)
fastapi devcd client
npm install
npm run devOpen http://localhost:5173 — API requests proxy automatically to port 8000.
- Create a Pinecone index named
dev-archive - Create a namespace
case-studies - Run the ingestion script to embed and upsert chunks:
cd server
eval $(poetry env activate)
python ingestion/embed_upsert.py # reads from ingestion/chunks.json| Store | Details |
|---|---|
| Pinecone | Vector embeddings for semantic search (llama-text-embed-v2, top-10 retrieval) |
| SQLite | Chat thread history saved to server/history/chat_history.db |