From 575e0957b7aa73edb083a7a31b61c6e189a0529d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B8=D0=BD=D0=B0=D1=80=20=D0=9C=D0=B8=D1=80=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D1=82=D0=BE=D0=B2?= Date: Tue, 16 Jun 2026 13:12:12 +0000 Subject: [PATCH] Build ChromaDB + Tavily RAG agent with Ollama embeddings, local/web tools, create_agent routing, and CLI ingest flow.: add README.md --- README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c625266 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# RAG agent with ChromaDB and Tavily + +CLI-агент, который выбирает между локальной базой знаний и веб-поиском: + +- `search_local_kb` ищет по локальным документам в `ChromaDB` +- `web_search` ищет в интернете через `Tavily` +- агент сам выбирает источник и в финальном ответе указывает `Источник: chromadb` или `Источник: tavily` + +## Установка + +```bash +ollama pull llama3 +ollama pull nomic-embed-text + +pip install -r requirements.txt +``` + +Создайте `.env`: + +```bash +TAVILY_API_KEY=your_api_key +``` + +## Загрузка документов + +Перед демонстрацией загрузите тестовые документы: + +```bash +python main.py --ingest documents +``` + +## Запуск чата + +```bash +python main.py +``` + +Для выхода используйте `exit`. + +## Структура + +- `vectorstore.py` — `Chroma` + `OllamaEmbeddings`, загрузка и чанкинг документов +- `tools.py` — инструменты `search_local_kb` и `web_search` +- `agent.py` — `create_agent` с маршрутизацией local vs web +- `main.py` — CLI и команда `--ingest` +- `documents/` — тестовые `.txt`/`.md` файлы для демонстрации