Add README.md

This commit is contained in:
2026-06-02 11:46:20 +00:00
commit 4e8b6f8fce
+64
View File
@@ -0,0 +1,64 @@
# RAG Agent
## Overview
This project implements a RetrievalAugmented 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