How pranav-0209/building-ai-agents works
This tree contains four independent Python AI applications: a tool-using assistant, PDF RAG chat, a research assistant, and an agentic research assistant. The sampled entry points show the user-facing workflows and the conventional research workflow; the README explicitly identifies PDF chat with RAG and ChromaDB. Some implementation files were not sampled, so their major subsystems are represented from the tree and README, but uncertain internal wiring is omitted.
Main entry points: nodes.py Workflow nodes · 03-ai-research-assistant/main.py Research CLI · 02-rag-pdf-chat/main.py Chat CLI · researcher.py Research executor
Components 31
Tool Assistant
- CLI assistant
01-ai-agent/main.py - Agent runtime
01-ai-agent/agent.py - Tool registry
01-ai-agent/tool_registry.py - GitHub lookup
01-ai-agent/tools/github_user.py - Random number
01-ai-agent/tools/random_number.py - Conversation memory
01-ai-agent/memory.py - JSON memory store
01-ai-agent/repository.py
PDF RAG Chat
- Chat CLI
02-rag-pdf-chat/main.py - Chat API
02-rag-pdf-chat/api.py - PDF loader
02-rag-pdf-chat/loader.py - Text splitter
02-rag-pdf-chat/splitter.py - Chroma vector store
02-rag-pdf-chat/vector_store.py - RAG question answering
02-rag-pdf-chat/chat.py
Research Assistant
- Research CLI
03-ai-research-assistant/main.py - Research planner
03-ai-research-assistant/planner.py - Research executor
03-ai-research-assistant/researcher.py - Web search
03-ai-research-assistant/search.py - Finding analyzer
03-ai-research-assistant/analyzer.py - Report generator
03-ai-research-assistant/reporter.py - Source collector
03-ai-research-assistant/sources.py
Agentic Research
- Agentic CLI
04-agentic-research-assistant/main.py - Workflow graph
04-agentic-research-assistant/graph.py - Workflow nodes
04-agentic-research-assistant/nodes.py - Service container
04-agentic-research-assistant/container.py - Research planner
04-agentic-research-assistant/planner.py - Web search
04-agentic-research-assistant/search.py - Finding analyzer
04-agentic-research-assistant/analyzer.py - Finding evaluator
04-agentic-research-assistant/evaluator.py - Report generator
04-agentic-research-assistant/reporter.py
Other components
- User
- GitHub API
Connections 25
- User → CLI assistant: asks
- CLI assistant → Agent runtime: runs agent
- Conversation memory → JSON memory store: loads and saves
- GitHub lookup → GitHub API: requests profile
- User → Chat CLI: asks question
- Chat CLI → Chroma vector store: initializes
- Chat CLI → RAG question answering: asks question
- Chat CLI → User: displays answer
- User → Chat API: submits request
- User → Research CLI: asks question
- Research CLI → Research planner: creates plan
- Research CLI → Research executor: runs plan
- Research executor → Web search: searches tasks
- Research executor → Finding analyzer: analyzes results
- Research CLI → Report generator: generates report
- Research CLI → Source collector: collects sources
- User → Agentic CLI: asks question
- Agentic CLI → Workflow graph: builds and invokes
- Workflow graph → Workflow nodes: dispatches workflow
- Workflow nodes → Service container: uses services
- Workflow nodes → Research planner: creates plan
- Workflow nodes → Web search: searches task
- Workflow nodes → Finding analyzer: analyzes results
- Workflow nodes → Finding evaluator: evaluates finding
- Workflow nodes → Report generator: generates report