commit 4e8b6f8fce3d5e4dd7d1d9470d50c7f2846c8e36 Author: balabanovan530 <175+balabanovan530@noreply.localhost> Date: Tue Jun 2 11:46:20 2026 +0000 Add README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ee28059 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# RAG Agent + +## Overview + +This project implements a Retrieval‑Augmented Generation (RAG) agent that can search a local knowledge base stored in ChromaDB and the web via Tavily. The agent automatically chooses the appropriate source and indicates it in the response. + +## Features + +- Local vector store with Ollama embeddings (`nomic-embed-text`) +- Web search powered by Tavily +- Two tools: **Local KB Search** and **Web Search** +- Automatic source selection +- Persistent vector store between runs +- CLI chat loop with exit command + +## Installation + +```bash +# Pull required models +ollama pull llama3 +ollama pull nomic-embed-text + +# Install Python dependencies +pip install langchain langchain-chroma langchain-tavily langchain-ollama tavily-python chromadb python-dotenv +``` + +## Setup + +Create a `.env` file in the project root with your Tavily API key: + +``` +TAVILY_API_KEY=your_api_key_here +CHAT_BASE_URL=http://localhost:11434/v1 +CHAT_API_KEY=ollama +CHAT_MODEL=llama3 +``` + +## Usage + +```bash +python main.py --docs_dir path/to/documents +``` + +- `--docs_dir` (optional) – Directory containing `.txt` or `.md` files to index into the vector store. If omitted, the agent will use the existing persisted store. + +### Example + +``` +You: What are the latest news about AI agents? +Agent: 1. AI Agents in 2024 (https://example.com) ... +Source: tavily + +You: Tell me about LangGraph in my notes. +Agent: LangGraph is a framework for building ... +Source: chromadb +``` + +## Exiting + +Type `exit` or `quit` to exit the chat loop. + +## License + +MIT