# RAG-агент с ChromaDB и веб-поиском AI-агент с локальным RAG-хранилищем на **ChromaDB** и веб-поиском через **Tavily**. Использует **Ollama** для LLM (`llama3`) и эмбеддингов (`nomic-embed-text`). ## Установка ```bash # Установить модели Ollama ollama pull llama3 ollama pull nomic-embed-text # Python-зависимости pip install -r requirements.txt ``` Создать `.env`: ``` TAVILY_API_KEY=ваш_ключ_tavily ``` ## Инициализация базы знаний Положи `.txt` / `.md` файлы в папку `documents/`, затем: ```bash python init_db.py ``` ## Запуск ```bash python main.py ``` ## Архитектура | Файл | Назначение | |------|------------| | `vectorstore.py` | ChromaDB + `OllamaEmbeddings(model="nomic-embed-text")` | | `tools.py` | `@tool search_local_kb` (ChromaDB) и `@tool web_search` (Tavily) | | `main.py` | ReAct-агент на `ChatOllama(model="llama3")` + CLI чат-цикл | | `init_db.py` | Загрузка документов из `documents/` с чанкингом | ## Маршрутизация | Запрос | Инструмент | Источник в ответе | |--------|-----------|-------------------| | Вопросы по загруженным документам | `search_local_kb` | `chromadb` | | Актуальные новости / факты | `web_search` | `tavily` | ## Пример ``` Запрос: Какие последние новости про AI-агентов? [Web Search] ... Источник: tavily Запрос: Что в наших конспектах про LangGraph? [Local KB] ... Источник: chromadb ```