How adithya0622/cmpdi-ai-reporting-platform works
CMPDI AI Reporting Platform turns subsidiary documents into searchable, validated operational data, answers, analytics, and reports. The main workflow is upload and queueing, document extraction and indexing, then either cited corpus questions or deterministic figure queries; uncertain extraction fields enter human review. Users also access reports, trends and operations analytics, while administrators manage jobs and audit activity. The graph reflects the README’s documented capabilities; several router and service implementations were not sampled, so those links follow documented responsibilities rather than inferred internal call sequences.
Main entry points: db.py PostgreSQL and pgvector · App.tsx Web application · rag.py Query routing and RAG · extraction.py Schema extraction
Components 31
User interface
- Web application
frontend/src/App.tsx - Corpus query
frontend/src/pages/Query.tsx - Extraction review
frontend/src/pages/Review.tsx - Document management
frontend/src/pages/Documents.tsx - Analytics view
frontend/src/pages/Analytics.tsx - Report view
frontend/src/pages/Reports.tsx - Admin console
frontend/src/pages/Admin.tsx
Access control
- Authentication API
backend/app/routers/auth.py - Roles and scoping
backend/app/auth.py
Document processing
- Document API
backend/app/routers/documents.py - Job queue
backend/app/services/jobs.py - Background worker
scripts/worker.py - Document ingestion
backend/app/services/ingest.py - Embedding service
backend/app/services/embeddings.py - Extraction and review API
backend/app/routers/extractions.py - Schema extraction
backend/app/services/extraction.py - Field validation
backend/app/services/validation.py
Insights and reporting
- Query API
backend/app/routers/query.py - Query routing and RAG
backend/app/services/rag.py - Search reranking
backend/app/services/rerank.py - LLM integration
backend/app/services/llm.py - Reports API
backend/app/routers/reports.py - Report generation
backend/app/services/report_gen.py - Analytics API
backend/app/routers/analytics.py - Corpus analytics
backend/app/services/analytics.py
Operations
- PostgreSQL and pgvector
backend/app/db.py - Admin API
backend/app/routers/admin.py - Audit logging
backend/app/services/audit.py
Other components
- Platform user
- OpenAI-compatible LLM
- Uploaded documents
Connections 44
- Platform user → Web application: uses
- Web application → Corpus query: routes to
- Web application → Extraction review: routes to
- Web application → Document management: routes to
- Web application → Analytics view: routes to
- Web application → Report view: routes to
- Web application → Admin console: routes to
- Corpus query → Query API: streams queries
- Extraction review → Extraction and review API: reviews fields
- Document management → Document API: uploads files
- Analytics view → Analytics API: requests analytics
- Report view → Reports API: requests reports
- Admin console → Admin API: manages jobs
- Authentication API → Roles and scoping: checks credentials
- Document API → Roles and scoping: checks access
- Query API → Roles and scoping: checks role
- Document API → Job queue: queues ingestion
- Job queue → PostgreSQL and pgvector: stores jobs
- Background worker → Job queue: claims jobs
- Background worker → Document ingestion: processes documents
- Uploaded documents → Document API: uploads to
- Document ingestion → PostgreSQL and pgvector: stores chunks
- Document ingestion → Embedding service: requests vectors
- Embedding service → PostgreSQL and pgvector: writes vectors
- Extraction and review API → Schema extraction: runs extraction
- Schema extraction → LLM integration: requests extraction
- Schema extraction → Field validation: validates fields
- Schema extraction → PostgreSQL and pgvector: stores fields
- Field validation → PostgreSQL and pgvector: flags review fields
- Query API → Query routing and RAG: answers questions
- Query routing and RAG → PostgreSQL and pgvector: searches corpus
- Query routing and RAG → Embedding service: requests vectors
- Query routing and RAG → Search reranking: reranks hits
- Query routing and RAG → LLM integration: generates answers
- LLM integration → OpenAI-compatible LLM: sends prompts
- Query API → PostgreSQL and pgvector: logs queries
- Reports API → Report generation: generates reports
- Report generation → PostgreSQL and pgvector: reads corpus
- Report generation → LLM integration: summarizes findings
- Analytics API → Corpus analytics: computes analytics
- Corpus analytics → PostgreSQL and pgvector: queries records
- Admin API → PostgreSQL and pgvector: reads job data
- Admin API → Audit logging: records actions
- Audit logging → PostgreSQL and pgvector: stores audit events