Files
2026-05-28 16:44:07 +00:00

2.0 KiB

RAG‑агент с ChromaDB и веб‑поиском

AI‑ассистент с двумя источниками знаний: локальная база ChromaDB и интернет через Tavily. Агент сам решает, какой источник использовать, и указывает это в ответе.

Стек

Компонент Технология
LLM Ollama — llama3
Эмбеддинги Ollama — nomic-embed-text
Векторное хранилище ChromaDB
Веб‑поиск Tavily
Фреймворк LangChain + LangGraph (ReAct)

Установка

pip install -r requirements.txt
ollama pull llama3
ollama pull nomic-embed-text

Добавь в .env:

TAVILY_API_KEY=твой_ключ_tavily

Запуск

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