How scybl/agentic-rag works
Agentic RAG is a local, single-user command-line research application that combines a private knowledge index, a private news API, and public web search. A question is planned across sources, retrieved and screened, then supported by reusable reading results and evaluated evidence; the system generates, checks, and delivers an answer, with bounded follow-up search and resumable research. News planning and API retrieval are distinct stages. The graph follows README-described workflow and indexed references; unsampled implementation details are not assumed.
Main entry points: build.py Workflow graph · retrieval.py Source retrieval · chains.py LLM chains · cli.py CLI interaction
Components 32
CLI and orchestration
- CLI interaction
src/agentic_rag/cli.py - Workflow graph
src/agentic_rag/graph/build.py - Run state
src/agentic_rag/graph/state.py - Terminal results
src/agentic_rag/presentation/console.py
Research workflow
- Source planning
src/agentic_rag/agents/planning.py - Evidence assessment
src/agentic_rag/agents/evidence.py - Document reading
src/agentic_rag/agents/reading.py - Topic specialists
src/agentic_rag/agents/specialists.py - Answer generation
src/agentic_rag/rag/generation.py - Answer review
src/agentic_rag/agents/reflection.py
Sources and retrieval
- Source retrieval
src/agentic_rag/rag/retrieval.py - Knowledge index
src/agentic_rag/rag/knowledge.py - News query plan
src/agentic_rag/sources/news/plan.py - News retrieval
src/agentic_rag/sources/news/retrieval.py - News API client
src/agentic_rag/sources/news/client.py - Public web search
src/agentic_rag/tools/web_search.py - Knowledge ingestion
src/agentic_rag/ingestion.py
Memory and persistence
- Research store
src/agentic_rag/memory/store.py - Conversation memory
src/agentic_rag/memory/conversation.py - Research lifecycle
src/agentic_rag/research/context.py
Model and operations
- Runtime settings
src/agentic_rag/config.py - LLM chains
src/agentic_rag/llm/chains.py - Research budget
src/agentic_rag/runtime/budget.py - Execution capacity
src/agentic_rag/runtime/capacity.py - Usage telemetry
src/agentic_rag/telemetry/usage.py - Trace export
src/agentic_rag/telemetry/exporters.py - Tool contracts
src/agentic_rag/tools/contracts.py - Tool execution
src/agentic_rag/tools/execution.py - Tool guardrails
src/agentic_rag/tools/guardrails.py
Other components
- Researcher
- Private news API
- Ollama model
Connections 31
- Researcher → CLI interaction: asks
README.md - CLI interaction → Workflow graph: starts research
- Workflow graph → Source planning: plans sources
README.md - Workflow graph → Source retrieval: retrieves evidence
README.md - Source retrieval → News retrieval: queries news
src/agentic_rag/rag/retrieval.py - Source retrieval → Knowledge index: searches index
README.md - Source retrieval → Public web search: searches web
src/agentic_rag/rag/retrieval.py - News retrieval → News query plan: uses query plan
src/agentic_rag/sources/news/retrieval.py - News retrieval → News API client: fetches candidates
src/agentic_rag/sources/news/retrieval.py - News API client → Private news API: requests news
src/agentic_rag/sources/news/client.py - Source retrieval → Evidence assessment: screens results
README.md - Evidence assessment → Document reading: selects for reading
README.md - Document reading → Topic specialists: supports analysis
README.md - Workflow graph → Answer generation: generates answer
README.md - Workflow graph → Answer review: checks answer
README.md - Workflow graph → Run state: tracks run
- Workflow graph → Research store: saves research
README.md - CLI interaction → Conversation memory: continues turns
README.md - Knowledge ingestion → Knowledge index: updates index
src/agentic_rag/ingestion.py - Workflow graph → Research lifecycle: initializes run
- Research lifecycle → Research store: opens store
src/agentic_rag/research/context.py - LLM chains → Ollama model: calls model
src/agentic_rag/llm/chains.py - LLM chains → Research budget: reserves calls
src/agentic_rag/llm/chains.py - News API client → Execution capacity: checks task limits
src/agentic_rag/sources/news/client.py - Workflow graph → Usage telemetry: records usage
- Usage telemetry → Trace export: exports traces
src/agentic_rag/telemetry/exporters.py - LLM chains → Tool contracts: uses tool context
src/agentic_rag/llm/chains.py - LLM chains → Tool execution: executes tools
src/agentic_rag/llm/chains.py - Tool execution → Tool guardrails: applies rules
- Workflow graph → Terminal results: delivers results
README.md - Terminal results → Researcher: presents answer
README.md