Files
task-6a1867fa8a94f887e50d52bb/README.md
T
2026-05-28 16:44:07 +00:00

61 lines
2.0 KiB
Markdown

# RAG‑агент с ChromaDB и веб‑поиском
AI‑ассистент с двумя источниками знаний: локальная база ChromaDB и интернет через Tavily. Агент сам решает, какой источник использовать, и указывает это в ответе.
## Стек
| Компонент | Технология |
|-----------|------------|
| LLM | Ollama — llama3 |
| Эмбеддинги | Ollama — nomic-embed-text |
| Векторное хранилище | ChromaDB |
| Веб‑поиск | Tavily |
| Фреймворк | LangChain + LangGraph (ReAct) |
## Установка
```bash
pip install -r requirements.txt
ollama pull llama3
ollama pull nomic-embed-text
```
Добавь в `.env`:
```
TAVILY_API_KEY=твой_ключ_tavily
```
## Запуск
```bash
python main.py
```
## Команды
| Команда | Описание |
|---------|----------|
| `/add <текст>` | Добавить текст в локальную базу знаний |
| `/load <файл>` | Загрузить .txt файл в базу знаний |
| `/help` | Показать список команд |
| `/quit` | Выйти из программы |
| `<вопрос>` | Задать вопрос агенту |
## Структура проекта
```
vectorstore.py — ChromaDB хранилище, эмбеддинги, чанкинг
tools.py — @tool: search_local_kb, web_search (Tavily)
agent.py — ReAct‑агент с маршрутизацией по источнику
main.py — CLI интерфейс
requirements.txt
README.md
```
## Маршрутизация
Агент сам выбирает источник:
- `search_local_kb` — если ответ может быть в локальных документах
- `web_search` — если нужна актуальная информация из интернета
В каждом ответе указан источник: `[Source: Local KB]` или `[Source: Web]`.