2026-06-02 11:46:50 +00:00
2026-06-02 11:46:29 +00:00
2026-06-02 11:46:37 +00:00
2026-06-02 11:46:20 +00:00
2026-06-02 11:46:43 +00:00
2026-06-02 11:46:50 +00:00

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

# 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

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

S
Description
No description provided
Readme 29 KiB
Languages
Python 100%