How adityajakkula7/askiiita works
AskIIITA is a campus-information RAG chatbot with a Streamlit interface and Flask API endpoints. Users sign in, ask questions, and receive answers grounded in retrieved institutional documents; admins can inspect query audit logs. Separately, ingestion loads and chunks PDF/TXT documents, adds access levels, embeds them, and stores them for retrieval. Authentication and role-based access span the chat and API paths. The README documents the overall RAG stack; app.py excerpts are partial, so some chat-side service links rely on that documentation rather than inspected call sites.
Main entry points: query.py Query Endpoint · auth.py Auth Helpers · app.py Chat RAG · audit_logs.py Audit Endpoint
Components 17
Chat Experience
- Streamlit Chat
app.py - Chat RAG
app.py
API Services
- Login Endpoint
api/login.py - Registration Endpoint
api/register.py - Query Endpoint
api/query.py - Audit Endpoint
api/audit_logs.py
Knowledge Pipeline
- Campus Documents
data - Document Ingestion
ingest.py - Local Vector Search
local_vector.py - Atlas Vector Store
- Gemini Embeddings
- Gemini LLM
Identity and Audit
- Auth Helpers
auth.py - Audit Records
api/query.py - User Records
auth.py
Other components
- User
- Admin
Connections 25
- User → Streamlit Chat: asks questions
README.md - Streamlit Chat → Chat RAG: submits queries
app.py - Streamlit Chat → Auth Helpers: authenticates
app.py - Chat RAG → Atlas Vector Store: retrieves chunks
README.md - Chat RAG → Gemini Embeddings: embeds query
README.md - Chat RAG → Gemini LLM: generates answer
README.md - User → Login Endpoint: signs in
api/login.py - User → Registration Endpoint: registers account
api/register.py - User → Query Endpoint: submits query
api/query.py - Admin → Audit Endpoint: requests logs
api/audit_logs.py - Login Endpoint → Auth Helpers: verifies credentials
api/login.py - Registration Endpoint → Auth Helpers: creates user
api/register.py - Query Endpoint → Auth Helpers: verifies token
api/query.py - Audit Endpoint → Auth Helpers: verifies token
api/audit_logs.py - Auth Helpers → User Records: reads and writes
auth.py - Campus Documents → Document Ingestion: loads files
ingest.py - Document Ingestion → Gemini Embeddings: embeds chunks
ingest.py - Document Ingestion → Atlas Vector Store: stores chunks
ingest.py - Query Endpoint → Atlas Vector Store: retrieves chunks
api/query.py - Query Endpoint → Local Vector Search: falls back to search
api/query.py - Local Vector Search → Gemini Embeddings: embeds query
local_vector.py - Local Vector Search → Campus Documents: loads source files
local_vector.py - Query Endpoint → Gemini LLM: generates answer
api/query.py - Query Endpoint → Audit Records: writes query log
api/query.py - Audit Endpoint → Audit Records: reads recent logs
api/audit_logs.py