Добавлен файл README.md с описанием проекта и инструкциями по запуску RAG-агента.
This commit is contained in:
@@ -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/)
|
||||
Reference in New Issue
Block a user