Files
task-6a1864f78a94f887e50d46da/README.md
T
2026-05-28 16:46:28 +00:00

82 lines
2.4 KiB
Markdown
Raw 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.
## Требования
- 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 | Агент с автоматическим выбором источника |