# RAG-Agent — AI-агент с локальной базой знаний ## Стек - **Python 3.10+** - **Qdrant** — векторная база данных - **Ollama** — локальные LLM и эмбеддинги (`llama3`, `nomic-embed-text`) - **LangChain / LangGraph** — агент с инструментами ## Быстрый старт ### 1. Установка зависимостей ```bash pip install -r requirements.txt ``` ### 2. Запуск Ollama и загрузка моделей ```bash ollama pull llama3 ollama pull nomic-embed-text ``` ### 3. Запуск Qdrant (Docker) ```bash docker run -d -p 6333:6333 -p 6334:6334 \ -v qdrant_storage:/qdrant/storage \ qdrant/qdrant ``` ### 4. Инициализация базы знаний из директории ```bash # Поместите .txt / .md файлы в папку docs/ python init_knowledge_base.py ./docs ``` ### 5. Запуск интерактивного клиента ```bash python client.py ``` ## Команды в клиенте | Команда | Описание | |---------|----------| | `/add <текст>` | Добавить текст в базу знаний | | `/add-file <путь>` | Загрузить файл в базу знаний | | `/search <запрос>` | Прямой семантический поиск (без агента) | | `/quit` | Выйти | | `<любой текст>` | Отправить запрос агенту | ## Архитектура ``` client.py ← интерактивный CLI-клиент │ ├── agent.py ← create_react_agent (llama3 + RAG-инструменты) │ └── tools.py ← @tool: search_knowledge_base, add_to_knowledge_base │ └── vector_store.py ← Qdrant + OllamaEmbeddings + RecursiveCharacterTextSplitter init_knowledge_base.py ← загрузка документов из директории ```