Status: skeleton only -- build not yet started.
Corpus: FastAPI documentation (Tutorial + Advanced User Guide subset,
raw markdown, tiangolo/fastapi repo).
- Corpus + basic ingestion
- Embedding + vector store (Qdrant)
- Hybrid retrieval (dense + BM25) + reranking
- Hand-built evaluation set (75-100 QA pairs)
- Evaluation methodology (retrieval precision/recall, faithfulness, ablation sweep across chunk size / embedding model / retrieval mode)
- Security tie-in: poisoned-document test (reuses Project 1's attack taxonomy/methodology)
- Serving (FastAPI + Streamlit) + deployment
See FINDINGS.md for design decisions and results as they're produced.
Run modules with python -m ... from the project root, not
python path/to/file.py, to avoid ModuleNotFoundError from internal
from app.x import y imports:
python -m scripts.ingest
python -m scripts.run_eval
python -m app.api.main