v0.3.0: Final Submission
Final submission for DSCI 575. Scales the pipeline from the Milestone 2 state, adds an LLM comparison, and completes documentation and cloud-deployment planning.
Highlights
- Scale (Option 3): pipeline now samples 120,000 reviews and builds a 110,167-document corpus after preprocessing. BM25 and FAISS indexes rebuilt against the larger corpus.
- LLM experiment: LLaMA 3.3 70B vs LLaMA 3.1 8B on 5 queries with identical retrieval context and the same
BALANCEDprompt. LLaMA 3.3 70B selected as the default based on completeness, grounding, and filtering of off-topic retrievals. - App: Streamlit app (
app/app.py) supports BM25, Semantic, Hybrid, and RAG modes over the full corpus, with a Groq model fallback chain for resilience. - Cloud deployment plan: S3 for storage, Elastic Beanstalk for compute, Groq managed API for inference, EventBridge + AWS Batch for nightly re-indexing. Architecture diagram and justification in
results/final_discussion.md.
Docs and code quality
- README updated for the scaled pipeline, new active-retriever note, demo, and runtime/disk footprint.
- All public functions and classes in
src/have docstrings. - No hardcoded paths, no API keys in source.
environment.ymltrimmed of unused packages.
Where to look
results/final_discussion.md: full write-up: scaling, LLM comparison, cloud plan.notebooks/08_llm_comparison.ipynb: side-by-side LLM outputs.app/app.py: Streamlit app.