How saicharan0811/schemeiq-plus works
SchemeIQ+ helps people in Telangana discover welfare schemes, assess eligibility, and ask questions grounded in official sources. The main journey runs from a citizen through the web interface and REST API into profile validation, deterministic rule assessment, and ranked recommendations; a separate question-answering route retrieves source material and produces grounded answers. Document ingestion and RAG indexing support that knowledge workflow. The README describes multilingual support and official-source grounding. Some routes and internal wiring are unsampled, so the graph omits uncertain links rather than inferring them.
Main entry points: ingest.py RAG indexing · App.jsx Page router · service.py Eligibility service · rag_service.py RAG orchestrator
Components 27
Web interface
- Page router
frontend/src/App.jsx - Recommendations
frontend/src/pages/RecommendPage.jsx - Scheme details
frontend/src/pages/SchemeDetailPage.jsx - Ask a question
frontend/src/pages/AskPage.jsx - API client
frontend/src/api.js
API layer
- REST API
src/api/app.py
Eligibility and recommendations
- Eligibility service
src/eligibility/service.py - Profile handling
src/eligibility/profile.py - Scheme ranking
src/eligibility/recommender.py - Eligibility evaluator
src/eligibility/evaluator.py - Rule engine
src/eligibility/rule_engine.py - Explanations
src/eligibility/explanation.py
Grounded Q&A
- RAG orchestrator
src/rag/rag_service.py - Scheme detection
src/rag/query_detector.py - Hybrid retrieval
src/rag/hybrid_retriever.py - Keyword retrieval
src/rag/keyword_retriever.py - Vector index
src/rag/vector_store.py - Answer generation
src/rag/answer_generator.py
Source ingestion
- Document downloads
src/ingestion/pipeline.py - Source manifest
src/ingestion/manifest_loader.py - Official downloader
src/ingestion/downloader.py - RAG indexing
src/rag/ingest.py - Document loader
src/rag/document_loader.py - Structure chunker
src/rag/chunker.py - Embedding provider
src/rag/embeddings.py
Other components
- Citizen
- Official sources
Connections 27
- Citizen → Page router: uses
- Page router → Recommendations: routes to
- Page router → Scheme details: routes to
- Page router → Ask a question: routes to
- Recommendations → API client: requests
- Scheme details → API client: requests
- Ask a question → API client: requests
- API client → REST API: calls
- REST API → Eligibility service: assesses
- REST API → RAG orchestrator: answers
- Eligibility service → Profile handling: normalizes
- Eligibility service → Scheme ranking: ranks
- Scheme ranking → Eligibility evaluator: evaluates
- Eligibility evaluator → Rule engine: checks rules
- Eligibility service → Explanations: formats
- RAG orchestrator → Scheme detection: detects scheme
- RAG orchestrator → Hybrid retrieval: retrieves
- RAG orchestrator → Answer generation: generates answer
- Hybrid retrieval → Keyword retrieval: queries
- Hybrid retrieval → Vector index: queries
- Official sources → Document downloads: provides documents
- Document downloads → Source manifest: loads entries
- Document downloads → Official downloader: downloads
- RAG indexing → Document loader: loads documents
- RAG indexing → Structure chunker: chunks documents
- RAG indexing → Embedding provider: embeds chunks
- RAG indexing → Vector index: indexes chunks