From 7f9547bcb755f022e10b508f77e6792141da9758 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:46:28 +0000 Subject: [PATCH] add README.md --- README.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4511991..b875234 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,82 @@ -# task-6a1864f78a94f887e50d46da +# RAG-агент с ChromaDB и веб-поиском +AI-агент с локальным RAG-хранилищем на ChromaDB и веб-поиском через Tavily. + +## Требования + +- Python 3.10+ +- Ollama (должен быть запущен локально) +- Модели Ollama: `llama3` и `nomic-embed-text` + +## Установка + +### 1. Установка моделей Ollama + +```bash +ollama pull llama3 +ollama pull nomic-embed-text +``` + +### 2. Установка зависимостей + +```bash +pip install -r requirements.txt +``` + +### 3. Настройка переменных окружения + +Создайте файл `.env` с вашим Tavily API ключом: + +``` +TAVILY_API_KEY=your_tavily_api_key_here +``` + +## Запуск + +### 1. Инициализация базы знаний + +Поместите тестовые документы (`.txt` или `.md`) в папку `documents/` и запустите: + +```bash +python -c "from vectorstore import create_vectorstore, load_documents; load_documents('./documents', create_vectorstore())" +``` + +Или просто запустите `main.py` - документы загрузятся автоматически при первом запуске. + +### 2. Запуск агента + +```bash +python main.py +``` + +## Использование + +``` +Запрос: Какие последние новости про 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