How challenge10-pbia/rag_cognus works
Cognus is a local RAG application for answering questions from the Databricks Gold knowledge view and evaluating retrieval and answers. The main workflow is to sync Gold data to a local snapshot, retrieve passages with BM25 or dense search, and optionally generate grounded answers; users can invoke this through the CLI or browser chat. Evaluation records per-question results and aggregate metrics in local MLflow. The graph follows the README and sampled source; some chat wiring is visible only in the source index.
Main entry points: cli.py CLI commands · evaluation.py Evaluation runner · chat_app.py Browser chat · retrieval.py Gold retriever
Components 14
User interfaces
- CLI commands
src/rag_cognus/cli.py - Browser chat
src/rag_cognus/chat_app.py
Knowledge and retrieval
- Runtime settings
src/rag_cognus/config.py - Gold sync
src/rag_cognus/gold.py - Gold retriever
src/rag_cognus/retrieval.py
Answer generation
- RAG pipeline
src/rag_cognus/chain.py
Evaluation and tracking
- Response judge
src/rag_cognus/judges.py - Evaluation cases
data/evaluation/questions.jsonl - Evaluation runner
src/rag_cognus/evaluation.py - Metric scoring
src/rag_cognus/metrics.py
Other components
- User
- Databricks Gold
- Ollama models
- Local MLflow
Connections 25
- User → CLI commands: runs commands
README.md - User → Browser chat: asks questions
README.md - CLI commands → Runtime settings: loads settings
src/rag_cognus/cli.py - Browser chat → Runtime settings: configures runtime
src/rag_cognus/chat_app.py - CLI commands → Gold sync: syncs Gold
src/rag_cognus/cli.py - Gold sync → Databricks Gold: reads view
src/rag_cognus/gold.py - CLI commands → Gold sync: loads snapshot
src/rag_cognus/cli.py - CLI commands → Gold retriever: builds index
src/rag_cognus/cli.py - Browser chat → Gold retriever: prepares search
src/rag_cognus/chat_app.py - Gold retriever → Runtime settings: reads options
src/rag_cognus/retrieval.py - Gold retriever → Ollama models: embeds passages
src/rag_cognus/retrieval.py - CLI commands → RAG pipeline: runs prediction
src/rag_cognus/cli.py - Browser chat → RAG pipeline: generates answers
src/rag_cognus/chat_app.py - RAG pipeline → Gold retriever: retrieves evidence
src/rag_cognus/chain.py - RAG pipeline → Ollama models: generates response
src/rag_cognus/chain.py - CLI commands → Evaluation cases: loads questions
README.md - CLI commands → Evaluation runner: starts evaluation
src/rag_cognus/cli.py - Browser chat → Evaluation runner: evaluates answers
src/rag_cognus/chat_app.py - Evaluation runner → Gold retriever: retrieves cases
src/rag_cognus/evaluation.py - Evaluation runner → RAG pipeline: predicts answers
src/rag_cognus/evaluation.py - Evaluation runner → Response judge: scores responses
src/rag_cognus/evaluation.py - Response judge → Ollama models: judges locally
src/rag_cognus/judges.py - Evaluation runner → Metric scoring: scores retrieval
src/rag_cognus/evaluation.py - Evaluation runner → Local MLflow: logs evaluations
src/rag_cognus/evaluation.py - Browser chat → Local MLflow: shows run metrics
README.md