From d3d8f0c72b27b62b020eb1df8c221154e9f95179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=80=D0=B8=D0=BB=D0=BB=20=D0=9A=D1=83=D1=82?= =?UTF-8?q?=D0=BB=D0=B0=D1=85=D0=BC=D0=B5=D1=82=D0=BE=D0=B2?= Date: Thu, 28 May 2026 16:44:07 +0000 Subject: [PATCH] add README.md --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 90cad17..b9dae30 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,60 @@ -# task-6a1867fa8a94f887e50d52bb +# 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]`.