commit a2089c70e198ba9f1d6b5fc6f39393493ab4552b Author: balabanovan530 <175+balabanovan530@noreply.localhost> Date: Tue May 26 13:36:00 2026 +0000 Добавлен файл README.md с описанием проекта и инструкциями по запуску RAG-агента. diff --git a/README.md b/README.md new file mode 100644 index 0000000..029b4e9 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# 🤖 Агент корпоративной памяти с RAG (RAG Agent) + +Этот проект реализует интеллектуального ассистента, который использует векторную базу знаний Qdrant для извлечения контекстной информации (Retrieval-Augmented Generation, RAG). Все LLM и эмбеддинги обрабатываются локально через Ollama. + +## 🚀 Обзор функционала +Агент способен: +1. **Отвечать на вопросы:** Использовать семантический поиск по базе знаний Qdrant для предоставления точных ответов (RAG). +2. **Индексировать данные:** Получить новые документы от пользователя и добавить их в базу знаний, чтобы агент мог использовать эту информацию в будущем. + +## 🛠️ Требования к окружению +Для работы агента необходимы следующие компоненты: +1. **Python 3.10+** +2. **Ollama:** Локальный сервер для запуска LLM и эмбеддингов. +3. **Qdrant:** Векторная база данных (рекомендуется запуск Docker-контейнера). + +## ⚙️ Установка зависимостей + +### Шаг 1: Запуск Ollama +Установите [Ollama](https://ollama.com/) и убедитесь, что он запущен на `http://localhost:11434`. Затем скачайте необходимые модели через терминал: + +```bash +ollama pull llama3 # Основная модель для генерации ответов +ollama pull nomic-embed-text # Модель эмбеддингов (для векторного поиска) +``` + +### Шаг 2: Запуск Qdrant +Рекомендуется запустить Qdrant в Docker для простоты. + +```bash +docker run -p 6333:6333 qdrant/qdrant +``` +*Убедитесь, что порт `6333` свободен.* + +### Шаг 3: Установка Python зависимостей +Клонируйте репозиторий и установите все необходимые библиотеки. + +```bash +# Предполагая, что вы в корневой папке проекта +pip install -r requirements.txt +``` + +## ▶️ Запуск Агента + +Запустите скрипт `agent.py` из командной строки: + +```bash +python agent.py +``` + +При первом запуске агент автоматически проинициализирует коллекцию в Qdrant и загрузит имитацию начальных данных (Политика отпусков, Оплата труда). + +## 💬 Команды CLI + +Агент работает в интерактивном режиме. Используйте следующие команды: + +1. **Задать вопрос:** Просто введите ваш вопрос. Агент автоматически использует `search_knowledge_base` для поиска и генерации ответа на основе найденного контекста. +2. **Искать информацию по запросу (Явный вызов):** + ``` + /search <ваш запрос> + # Пример: /search условия отпуска + ``` +3. **Добавить новую информацию:** Используйте эту команду, когда вам нужно обучить агента на новом документе или тексте. Контент должен быть заключен в кавычки. + ``` + /add "<Полный текст нового документа>" "<Тема для индексации>" + # Пример: /add "Новый раздел о командировочных расходах..." "Политика командировок" + ``` + +## ⚠️ Важные замечания +* **Конфигурация:** Код предполагает, что Ollama запущен на `http://localhost:11434` и Qdrant — на `localhost:6333`. Измените константы в `agent.py`, если используются другие адреса. +* **Обработка ошибок:** В коде реализована базовая обработка исключений для случаев, когда Ollama или Qdrant недоступны. + +## 📚 Документация +[LangChain Documentation](https://docs.langchain.com/) \ No newline at end of file