How joshi-chinmay-016/cognify works
Cognify is a local document-and-data assistant: users ask through the CLI, which routes questions to document retrieval, spreadsheet analytics, cross-workbook comparisons, or chart generation. Drive synchronization and local-file ingestion prepare Word text and Excel worksheets; RAG chunks and indexes searchable text, while Pandas computes numerical results. The README documents these product branches; sampled source confirms key ingestion, indexing, retrieval, and persistence calls. Some parser, routing, and analytics interactions are documented rather than fully sampled.
Main entry points: cli.py Interactive CLI · pipeline.py RAG Pipeline · document_loader.py Document Loader · drive_client.py Drive Sync
Components 21
Sync & Ingestion
- Drive Sync
app/drive/drive_client.py - Drive OAuth
app/drive/authentication.py - Document Loader
app/ingestion/document_loader.py - Word Parser
app/ingestion/word_parser.py - Excel Parser
app/ingestion/excel_parser.py
Document RAG
- Text Chunker
app/rag/chunker.py - Local Embedder
app/rag/embedder.py - FAISS Store
app/rag/vector_store.py - Semantic Retriever
app/rag/retriever.py - RAG Pipeline
app/rag/pipeline.py
Data Intelligence
- Pandas Analytics
app/analytics/pandas_engine.py - Cross-File Analysis
app/analytics/cross_file_analysis.py - Chart Generator
app/analytics/chart_generator.py
Assistant Interface
- Interactive CLI
app/cli.py - Query Router
app/query_router.py
Local Services
- App Configuration
app/config.py - File Metadata
app/utils/metadata.py - Grounded Generator
app/llm/generator.py
Other components
- User
- Google Drive
- Ollama
Connections 30
- User → Interactive CLI: asks
README.md - Interactive CLI → Drive Sync: syncs files
README.md - Drive Sync → Drive OAuth: authenticates with
app/drive/drive_client.py - Drive Sync → Google Drive: lists and downloads
README.md - Interactive CLI → Document Loader: loads documents
app/cli.py - Document Loader → Word Parser: parses Word
app/ingestion/document_loader.py - Document Loader → Excel Parser: parses Excel
app/ingestion/document_loader.py - Document Loader → File Metadata: tracks files
app/ingestion/document_loader.py - Document Loader → Text Chunker: prepares searchable text
README.md - Interactive CLI → Query Router: routes query
app/cli.py - Interactive CLI → RAG Pipeline: answers document queries
app/cli.py - RAG Pipeline → Text Chunker: splits documents
app/rag/pipeline.py - RAG Pipeline → Local Embedder: embeds chunks
app/rag/pipeline.py - RAG Pipeline → FAISS Store: indexes chunks
app/rag/pipeline.py - RAG Pipeline → Semantic Retriever: retrieves context
app/rag/pipeline.py - Semantic Retriever → Local Embedder: embeds query
app/rag/retriever.py - Semantic Retriever → FAISS Store: searches vectors
app/rag/retriever.py - RAG Pipeline → Grounded Generator: generates grounded answer
README.md - Grounded Generator → Ollama: requests inference
app/llm/generator.py - Interactive CLI → Pandas Analytics: runs spreadsheet analysis
app/cli.py - Interactive CLI → Cross-File Analysis: compares workbooks
app/cli.py - Interactive CLI → Chart Generator: generates charts
app/cli.py - Pandas Analytics → Excel Parser: calculates on worksheets
app/analytics/pandas_engine.py - Cross-File Analysis → Excel Parser: compares worksheet data
README.md - Chart Generator → Excel Parser: visualizes worksheet data
app/analytics/chart_generator.py - Interactive CLI → File Metadata: tracks processing state
app/cli.py - Interactive CLI → App Configuration: uses settings
app/cli.py - Drive Sync → App Configuration: uses Drive settings
app/drive/drive_client.py - RAG Pipeline → App Configuration: uses RAG settings
app/rag/pipeline.py - Grounded Generator → App Configuration: uses model settings
app/llm/generator.py