# Агент с RAG‑памятью **Краткое описание** Проект реализует простого чат‑бота на основе Retrieval‑Augmented Generation (RAG). Бот хранит документы в векторном хранилище Qdrant, извлекает релевантные фрагменты при помощи эмбеддингов OpenAI и генерирует ответы с помощью модели GPT‑4 (или любой другой LLM, поддерживаемой LangChain). --- ## Установка ```bash # Клонируйте репозиторий git clone https://github.com/yourusername/rag-agent.git cd rag-agent # Создайте виртуальное окружение (необязательно, но рекомендуется) python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # Установите зависимости pip install -r requirements.txt ``` > **Важно** > - Для работы с OpenAI вам понадобится переменная окружения `OPENAI_API_KEY`. > - Для Qdrant можно использовать локальный сервер (порт 6333) или облачный сервис. > - Если вы хотите использовать другой LLM, поменяйте параметры в `solution.py`. --- ## Запуск ### 1. Инициализация векторного хранилища ```bash python solution.py init ``` > Команда создаст коллекцию `documents` в Qdrant и загрузит в неё все файлы из папки `data/`. > Для больших наборов данных можно изменить `chunk_size` и `chunk_overlap` в `RecursiveCharacterTextSplitter`. ### 2. Запуск FastAPI сервера ```bash uvicorn solution:app --reload ``` > После запуска сервер будет доступен по адресу `http://127.0.0.1:8000`. > Swagger UI: `http://127.0.0.1:8000/docs`. ### 3. Отправка запроса к боту ```bash curl -X POST "http://127.0.0.1:8000/chat" \ -H "Content-Type: application/json" \ -d '{"question":"Какой климат в Сибири?"}' ``` Ответ будет в формате: ```json { "answer": "Сибирь характеризуется холодным континентальным климатом..." } ``` --- ## Пример использования ```python import requests url = "http://127.0.0.1:8000/chat" payload = {"question": "Какие книги рекомендованы для изучения Python?"} response = requests.post(url, json=payload) print(response.json()["answer"]) ``` > Вывод: > ``` > Для начала изучения Python рекомендую следующие книги: "Automate the Boring Stuff with Python" и "Python Crash Course". Если вы хотите углубиться в продвинутые темы, обратите внимание на "Fluent Python" и "Effective Python". > ``` --- ## Структура проекта ``` rag-agent/ ├── data/ # Папка с исходными документами ├── solution.py # Основной скрипт ├── requirements.txt └── README.md ``` --- ## Лицензия MIT © 2026 ---