Files

63 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```