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]`.