How ujk768/rag-pipeline-backend works
This is a local PDF RAG API. Users upload a PDF, monitor background ingestion, then query it for grounded answers with page citations; they can also inspect pruning results or reset stored data. The graph preserves ingestion, retrieval, generation, pruning, and operational endpoints. The README documents the query pipeline, while the sampled main.py excerpts show database setup, ingestion details, pruning, and API behavior; unsampled query internals are represented only where the README supports them.
Main entry points: main.py FastAPI endpoints
Components 15
API and Operations
- FastAPI endpoints
main.py - Processing status
main.py - Reset data
main.py
PDF Ingestion
- PDF extraction
main.py - Sentence chunking
main.py - Document embeddings
main.py - Chunk vector store
main.py
Retrieval and Answers
- Query embedding
main.py - Similarity search
main.py - Local LLM generation
main.py - Cited answer
main.py
Chunk Pruning
- Pruning strategies
main.py - Pruning report
main.py
Other components
- User
- PostgreSQL pgvector
Connections 18
- User → FastAPI endpoints: uploads or queries
README.md - FastAPI endpoints → PDF extraction: starts background ingestion
main.py - PDF extraction → Sentence chunking: extracts and chunks
README.md - Sentence chunking → Document embeddings: embeds chunks
README.md - Document embeddings → Pruning strategies: optionally prunes
main.py - Pruning strategies → Chunk vector store: stores kept chunks
README.md - Document embeddings → Chunk vector store: stores all chunks
README.md - Chunk vector store → PostgreSQL pgvector: persists vectors
main.py - FastAPI endpoints → Processing status: serves progress
main.py - FastAPI endpoints → Pruning report: serves report
main.py - Pruning strategies → Pruning report: builds statistics
main.py - FastAPI endpoints → Query embedding: handles query
README.md - Query embedding → Similarity search: provides query vector
README.md - Similarity search → Chunk vector store: retrieves top chunks
README.md - Similarity search → Local LLM generation: supplies context
README.md - Local LLM generation → Cited answer: generates grounded answer
README.md - FastAPI endpoints → Reset data: handles reset
main.py - Reset data → Chunk vector store: deletes chunks
main.py