# 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 | Агент с автоматическим выбором источника |