Skip to content

Repository files navigation

Clinical RAG Assistant

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.

What It Does

  1. Ingests clinical documents and research papers
  2. Chunks and embeds text using SentenceTransformers
  3. Stores vectors in ChromaDB for semantic retrieval
  4. Answers clinical queries by retrieving relevant context + LLM synthesis
  5. Evaluates answer quality using an LLM-as-Judge scoring pipeline

Architecture

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)

Tech Stack

  • Embeddings: SentenceTransformers (all-MiniLM-L6-v2)
  • Vector Store: ChromaDB
  • LLM Orchestration: LangChain
  • Evaluation: LLM-as-Judge (custom rubric)
  • Runtime: Python, Jupyter Notebook

Files

File Description
clinical_rag_assistant.ipynb Main implementation notebook
Shuvojit_Sen_NLP_RAG_Project_FullCode_FINAL.html Rendered output (local only)

Key Concepts

  • 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

Skills Demonstrated

Semantic search, vector databases, embedding models, LangChain chain composition, prompt engineering, automated LLM evaluation

About

Clinical RAG assistant: ChromaDB + LangChain + LLM-as-Judge evaluation pipeline

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages