How sreeja99sunkara/policypal works
PolicyPal is a FastAPI service for indexing insurance-policy PDFs and answering questions with cited, document-grounded responses. Its two user workflows are synchronous PDF ingestion—save, extract and chunk, then index—and querying—check that documents exist, retrieve relevant chunks, generate an answer, and return source text. The graph reflects the sampled routes and service calls; README-documented capabilities supplement them where implementation was not sampled. The configured Chroma persistence directory is not present in the supplied tree, so its node has no repository path.
Main entry points: vectorstore.py Vector Store Service · rag_chain.py RAG Chain · ingestion.py Upload Route · query.py Query Route
Components 14
API
- FastAPI App
app/main.py - Upload Route
app/routers/ingestion.py - Query Route
app/routers/query.py - Query Schemas
app/schemas/query.py
Document Ingestion
- Uploaded PDFs
data/raw - PDF Loader And Chunker
app/services/document_loader.py
Retrieval And Answering
- RAG Chain
app/services/rag_chain.py - QA Prompt
app/prompts/qa_prompt.py - Answer And Sources
app/routers/query.py
Models And Storage
- Vector Store Service
app/services/vectorstore.py - Embedding Model
app/services/embedder.py - Chroma Store
- Groq LLM
Other components
- User
Connections 20
- User → FastAPI App: sends requests
- FastAPI App → Upload Route: registers route
- FastAPI App → Query Route: registers route
- User → Upload Route: uploads PDF
- Upload Route → Uploaded PDFs: writes PDF
- Upload Route → PDF Loader And Chunker: loads and chunks
- Upload Route → Vector Store Service: ingests chunks
- PDF Loader And Chunker → Uploaded PDFs: reads PDF
- Vector Store Service → Embedding Model: gets embeddings
- Vector Store Service → Chroma Store: replaces index
- User → Query Route: asks question
- Query Route → Query Schemas: validates request
- Query Route → Vector Store Service: checks documents
- Query Route → RAG Chain: invokes chain
- RAG Chain → Vector Store Service: retrieves chunks
- Vector Store Service → Chroma Store: reads vectors
- RAG Chain → QA Prompt: formats context
- RAG Chain → Groq LLM: requests completion
- RAG Chain → Answer And Sources: returns results
- Answer And Sources → User: returns citations