A Retrieval-Augmented Generation (RAG) system for clinical text analysis — combining semantic search over medical documents with LLM reasoning, evaluated using an LLM-as-Judge framework.
- Ingests clinical documents and research papers
- Chunks and embeds text using SentenceTransformers
- Stores vectors in ChromaDB for semantic retrieval
- Answers clinical queries by retrieving relevant context + LLM synthesis
- Evaluates answer quality using an LLM-as-Judge scoring pipeline
Clinical Documents
│
▼
Text Chunking + SentenceTransformer Embeddings
│
▼
ChromaDB Vector Store
│
▼
Query → Semantic Retrieval (top-k chunks)
│
▼
LangChain LLM Chain → Synthesized Answer
│
▼
LLM-as-Judge Evaluation (faithfulness, relevance, completeness)
- Embeddings: SentenceTransformers (
all-MiniLM-L6-v2) - Vector Store: ChromaDB
- LLM Orchestration: LangChain
- Evaluation: LLM-as-Judge (custom rubric)
- Runtime: Python, Jupyter Notebook
| File | Description |
|---|---|
clinical_rag_assistant.ipynb |
Main implementation notebook |
Shuvojit_Sen_NLP_RAG_Project_FullCode_FINAL.html |
Rendered output (local only) |
- RAG (Retrieval-Augmented Generation): Grounds LLM answers in retrieved source documents, reducing hallucination
- LLM-as-Judge: Uses a second LLM call to score response quality on faithfulness, relevance, and completeness — enabling automated evaluation without human labelers
Semantic search, vector databases, embedding models, LangChain chain composition, prompt engineering, automated LLM evaluation