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