An intelligent AI chatbot built using LangGraph Agents, FastAPI, Streamlit, and Groq LLMs, enhanced with Tavily Web Search functionality.
A clean frontend + powerful backend = seamless chatbot experience!
- Python 3.10
- LangGraph (AI Agent Framework)
- FastAPI (Backend API)
- Streamlit (Frontend UI)
- Groq LLMs (llama3 models)
- Tavily (Web Search API)
- Pydantic (Request Validation)
- dotenv (Environment Variables)
- Frontend (Streamlit) collects user query, model selection, system prompt, etc.
- Backend (FastAPI) handles request, initializes the AI Agent dynamically based on input.
- LangGraph Agent communicates with Groq models and optionally uses Tavily Search for real-time information.
- Result is returned back to the frontend and displayed beautifully along with avatars and download options.
- βββ AI_Agent.py # LangGraph agent setup
- βββ Backend.py # FastAPI backend server
- βββ Frontend.py # Streamlit frontend UI
- βββ app.py # Entry point to run the app
- βββ requirements.txt # List of required Python packages
- βββ .env # Environment variables (API keys)
- βββ venv/ # Virtual environment (not pushed)
- βββ README.md # Project Documentation
- python -m venv venv
- source venv/bin/activate # MacOS/Linux
- venv\Scripts\activate # Windows
- GROQ_API_KEY = your_groq_api_key_here
- TAVILY_API_KEY = your_tavily_api_key_here
- llama3-70b-8192
- llama-3.3-70b-versatile
- Dynamic model selection (Groq)
- Custom system prompts
- Real-time web search (Tavily integration)
- Beautiful chat history with avatars
- Download AI responses easily
- Lightweight and beginner-friendly
- Backend API (FastAPI) Live
- Frontend UI (Streamlit):
-
- On Streamlit cloud
- On Hugging Face
- A heartfelt thank you to AI with Hassan on YouTube Channel β this project wouldnβt have come to life without his insightful tutorials and guidance.
- His content makes complex LangChain & multi-agent systems feel simple and achievable. If you're diving into AI agents, his videos are a must-watch!
- I made a few customizations to better fit my learning goals β for example, I currently use only one model provider (Groq) instead of combining Groq and OpenAI as demonstrated in his tutorials.
- Made with β€οΈ by Uzma Khatun
- Connect on LinkedIn
