How manikantasai1724/academiaai works
AcademiaAI is a local academic-document ingestion, semantic-search, and grounded question-answering application. A user uploads a document through the React workspace; the API extracts structured text, chunks it, embeds it, and indexes passages with provenance. Users can then search passages or ask questions: retrieval supplies evidence to the answer generator, which returns citations. The interface also supports corpus listing and passage inspection. The README documents formats and capabilities beyond the sampled excerpts; evaluation tooling is excluded as non-user-facing.
Main entry points: routes.py REST endpoints · App.tsx Workspace · api.ts API client · generator.py RAG orchestration
Components 16
Research workspace
- Workspace
frontend/src/App.tsx - Document upload
frontend/src/components/DocumentUpload.tsx - Literature search
frontend/src/components/SemanticSearchSection.tsx - Question answering
frontend/src/components/QASection.tsx - Document library
frontend/src/components/DocumentLibrary.tsx - Passage inspector
frontend/src/components/ChunkInspectorModal.tsx - API client
frontend/src/services/api.ts
API orchestration
- FastAPI app
backend/app/main.py - REST endpoints
backend/app/api/routes.py
Document ingestion
- Format extraction
backend/app/documents/extractors.py - Passage chunking
backend/app/nlp/chunker.py
Search and storage
- Dense embeddings
backend/app/embeddings/manager.py - FAISS index
backend/app/retrieval/store.py
Grounded answers
- RAG orchestration
backend/app/rag/generator.py - Google Gemini
Other components
- Researcher
Connections 23
- Researcher → Workspace: uses
- Workspace → Document upload: presents
- Workspace → Literature search: presents
- Workspace → Question answering: presents
- Workspace → Document library: presents
- Workspace → Passage inspector: opens
- Workspace → API client: lists documents
- Document upload → API client: uploads files
- Literature search → API client: searches
- Question answering → API client: asks questions
- Document library → API client: loads library
- FastAPI app → REST endpoints: mounts
- API client → REST endpoints: HTTP requests
- REST endpoints → Format extraction: extracts document
- REST endpoints → Passage chunking: chunks text
- REST endpoints → Dense embeddings: embeds passages
- REST endpoints → FAISS index: indexes passages
- REST endpoints → Dense embeddings: embeds search query
- REST endpoints → FAISS index: searches index
- REST endpoints → RAG orchestration: answers question
- RAG orchestration → Dense embeddings: embeds question
- RAG orchestration → FAISS index: retrieves evidence
- RAG orchestration → Google Gemini: generates answer