add README.md
This commit is contained in:
@@ -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 | Агент с автоматическим выбором источника |
|
||||
Reference in New Issue
Block a user