From 650b443b05db38bd85446690ca9c21dae52f4fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=BC=D0=B8=D0=BB=D1=8C=20=D0=90=D0=BC=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Thu, 28 May 2026 16:59:38 +0000 Subject: [PATCH] add README.md --- README.md | 69 +++++++++++-------------------------------------------- 1 file changed, 14 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index b875234..3d25687 100644 --- a/README.md +++ b/README.md @@ -1,82 +1,41 @@ -# RAG-агент с ChromaDB и веб-поиском +# RAG‑Agent with ChromaDB and Tavily -AI-агент с локальным RAG-хранилищем на ChromaDB и веб-поиском через Tavily. +## What is it? -## Требования +A small demo of a LangChain agent that can answer questions using either a local knowledge base stored in **ChromaDB** or live web search via **Tavily**. The agent automatically chooses the source based on the query and returns the answer together with a source label. -- Python 3.10+ -- Ollama (должен быть запущен локально) -- Модели Ollama: `llama3` и `nomic-embed-text` +## Prerequisites -## Установка - -### 1. Установка моделей Ollama +* Python 3.10+ +* Ollama (downloaded models below) ```bash ollama pull llama3 ollama pull nomic-embed-text ``` -### 2. Установка зависимостей +## Installation ```bash pip install -r requirements.txt ``` -### 3. Настройка переменных окружения - -Создайте файл `.env` с вашим Tavily API ключом: +Create a `.env` file in the project root with your Tavily API key: ``` -TAVILY_API_KEY=your_tavily_api_key_here +TAVILY_API_KEY=your_key_here ``` -## Запуск +## Data -### 1. Инициализация базы знаний +Place any `.txt` or `.md` files you want to index into the `documents/` folder. -Поместите тестовые документы (`.txt` или `.md`) в папку `documents/` и запустите: - -```bash -python -c "from vectorstore import create_vectorstore, load_documents; load_documents('./documents', create_vectorstore())" -``` - -Или просто запустите `main.py` - документы загрузятся автоматически при первом запуске. - -### 2. Запуск агента +## Usage ```bash python main.py ``` -## Использование +You will see a prompt. Type your question and press Enter. Type `exit` to quit. -``` -Запрос: Какие последние новости про AI-агентов? -[Web Search] ... -Источник: tavily - -Запрос: Что в наших конспектах про LangGraph? -[Local KB] ... -Источник: chromadb -``` - -Для выхода введите `exit`. - -## Структура проекта - -- `main.py` — CLI чат-цикл -- `agent.py` — создание агента с инструментами -- `tools.py` — инструменты поиска (local KB + web) -- `vectorstore.py` — работа с ChromaDB -- `requirements.txt` — зависимости -- `documents/` — папка с тестовыми документами - -## Компоненты - -| Компонент | Описание | -|-----------|----------| -| ChromaDB | Векторное хранилище с эмбеддингами Ollama | -| search_local_kb | Семантический поиск в локальной базе | -| web_search | Поиск через Tavily API | -| create_agent | Агент с автоматическим выбором источника | \ No newline at end of file +The output shows the answer and the source (`chromadb` or `tavily`).