An Agentic Retrieval-Augmented Generation (RAG) Chatbot powered by an intelligent agent that can dynamically choose and orchestrate multiple tools (retrieval, web search, calculator, code execution, APIs, etc.) to answer complex user queries accurately and efficiently.
This project demonstrates agentic reasoning + multi-tool execution + RAG, making it highly relevant for real-world AI/ML and LLM system design.
-
Agentic Decision-Making: The agent reasons step-by-step and decides which tool(s) to invoke
-
Multi-Tool Integration:
- Vector Retriever (RAG)
- Web Search Tool
- Calculator / Math Tool
- Code / Python Tool
- Custom API Tools (extensible)
-
RAG Pipeline: Retrieves relevant document chunks before generation
-
Tool Chaining: Agent can call multiple tools in sequence for a single query
-
Conversation Memory: Maintains context across turns
-
Hallucination Reduction: Answers are grounded in retrieved or tool-generated data
-
Modular & Scalable Design
User Query
↓
Agent (Planner + Reasoner)
↓ decides
┌──────────────────────────────┐
│ Available Tools │
│ • Vector Retriever (RAG) │
│ • Web Search │
│ • Calculator │
│ • Python / Code Executor │
│ • Custom APIs │
└──────────────────────────────┘
↓
Tool Outputs / Retrieved Context
↓
LLM Generator
↓
Final Grounded Answer
- Language: Python 3.10+
- LLM: OpenAI / Azure OpenAI / Local LLM
- Agent Framework: LangChain Agents / LlamaIndex Agents
- Embeddings: OpenAI / Sentence-Transformers
- Vector Store: FAISS / Chroma / Pinecone
- Backend: FastAPI
- Frontend (Optional): Streamlit / React
| Tool | Purpose |
|---|---|
| Vector Retriever | Document-based question answering (RAG) |
| Web Search Tool | Real-time / external knowledge |
| Calculator Tool | Numerical & logical computations |
| Python Tool | Data processing, validation, transformations |
| Custom API Tool | Domain-specific integrations |
The agent autonomously selects the appropriate tool(s) based on the query.
- Clone the repository
- Create & activate a virtual environment
- Install dependencies
- Configure environment variables
uvicorn fastapp.main:app --reloadstreamlit run frontend/frontend.py- Feedback-based agent learning
- Docker & cloud deployment
MIT License
Vaishnavi Barolia AI / ML Research Intern Evostra Ventures
This project highlights agentic reasoning + multi-tool orchestration, aligning strongly with modern LLM Engineer / AI Engineer roles.