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` файлы для демонстрации