# RAG Agent with ChromaDB and Tavily This repository contains a simple RAG agent that uses **ChromaDB** as a local vector store and **Tavily** for web search. The agent automatically selects the appropriate source (local knowledge base or the web) based on the query. ## Structure - `vectorstore.py` – utilities for creating and loading the vector store. - `tools.py` – LangChain tools for local and web search. - `agent.py` – agent definition with routing logic. - `main.py` – interactive CLI. - `init_db.py` – helper script to load documents from `documents/` into the vector store. - `requirements.txt` – dependencies. - `documents/` – folder with sample `.txt`/`.md` files. ## Usage ```bash # Install dependencies pip install -r requirements.txt # Load documents into the vector store python init_db.py # Run the chat interface python main.py ``` ## Environment - `TAVILY_API_KEY` – required for web search. - `OLLAMA_BASE_URL` – optional, defaults to `http://localhost:11434`.