Редактировать requirements.txt

This commit is contained in:
Markov Andrey
2026-07-01 08:03:18 +00:00
parent 90e0238616
commit d66a40b286

View File

@@ -1,76 +1,109 @@
# Основные зависимости для XMPP бота с RAG # ============================================================
# requirements.txt зависимости проекта «Эфцекабот»
# ============================================================
# Версия: 3.0.0
# Дата: 2026-07-01
# ============================================================
#
# Группы зависимостей:
# - Ядро и XMPP
# - HTTP и сеть
# - Конфигурация и окружение
# - GigaChat API
# - Обработка документов и файлов
# - Векторная база данных Qdrant
# - Токенизация и NLP
# - База данных PostgreSQL
# - Веб-скрапинг и парсинг
# - Переранжирование (кросс-энкодеры)
# - Тестирование
# - Инфраструктура (retry, circuit breaker, кэши, логирование)
# ============================================================
# XMPP клиент # ------------------------------------------------------------------
slixmpp >= 1.8.5 # 1. Ядро и XMPP
# ------------------------------------------------------------------
slixmpp >= 1.8.5 # XMPP клиент для ботов
# Работа с переменными окружения # ------------------------------------------------------------------
python-dotenv >= 1.0.0 # 2. HTTP и сеть
# ------------------------------------------------------------------
requests >= 2.31.0 # Синхронные HTTP-запросы (скачивание файлов)
aiohttp >= 3.9.0 # Асинхронный HTTP-клиент для RAG-сервера и веб-скрапера
aiofiles >= 23.0.0 # Асинхронная работа с файлами
# HTTP запросы (скачивание файлов, загрузка на сервер) # ------------------------------------------------------------------
requests >= 2.31.0 # 3. Конфигурация и окружение
aiohttp >= 3.9.0 # для HTTP-клиента RAG # ------------------------------------------------------------------
python-dotenv >= 1.0.0 # Загрузка переменных окружения из .env
pyyaml >= 6.0 # Парсинг YAML-конфигов (rag.conf, bot.conf)
# Парсинг YAML конфигов # ------------------------------------------------------------------
pyyaml >= 6.0 # 4. GigaChat API
# ------------------------------------------------------------------
gigachat >= 0.2.1 # Официальный SDK GigaChat (генерация, эмбеддинги)
# Клиент GigaChat (генерация, эмбеддинги) # ------------------------------------------------------------------
gigachat >= 0.2.1 # 5. Обработка документов и файлов
# ------------------------------------------------------------------
python-docx >= 1.1.0 # Чтение/запись DOCX
pypdf >= 4.0.0 # Чтение PDF
openpyxl >= 3.1.0 # Чтение XLSX
python-pptx >= 0.6.21 # Чтение PPTX
pillow >= 10.0.0 # Обработка изображений (OCR)
pytesseract >= 0.3.10 # OCR (распознавание текста на изображениях)
py7zr >= 0.20.0 # Распаковка 7z архивов
# Обработка документов # ------------------------------------------------------------------
python-docx >= 1.1.0 # DOCX # 6. Векторная база данных Qdrant
pypdf >= 4.0.0 # PDF # ------------------------------------------------------------------
openpyxl >= 3.1.0 # XLSX qdrant-client >= 1.9.0 # Клиент Qdrant (синхронный и асинхронный)
python-pptx >= 0.6.21 # PPTX fastembed >= 0.4.0 # Генерация sparse-векторов (BM25) для гибридного поиска
pillow >= 10.0.0 # Изображения
pytesseract >= 0.3.10 # OCR (опционально)
py7zr >= 0.20.0 # 7z архивы
# Векторная БД Qdrant # ------------------------------------------------------------------
qdrant-client >= 1.9.0 # 7. Токенизация и NLP
# ------------------------------------------------------------------
tiktoken >= 0.5.0 # Точный подсчёт токенов (для обрезки истории и чанкинга)
razdel >= 0.5.0 # Разбиение русского текста на предложения
mawo-pymorphy3 >= 0.1.0 # Морфологический анализ для хирургической замены
# Токенизация (для разбиения на чанки) # ------------------------------------------------------------------
tiktoken >= 0.5.0 # 8. База данных PostgreSQL
# ------------------------------------------------------------------
asyncpg >= 0.29.0 # Асинхронный драйвер PostgreSQL (пул соединений)
# Асинхронный драйвер PostgreSQL (asyncpg) # ------------------------------------------------------------------
asyncpg >= 0.29.0 # 9. Веб-скрапинг и парсинг HTML
# ------------------------------------------------------------------
beautifulsoup4 >= 4.12.0 # Парсинг HTML
lxml >= 4.9.0 # Быстрый парсер для BeautifulSoup
readability-lxml >= 0.8.1 # Извлечение основного текста из HTML
# Асинхронные HTTP запросы (веб-скрапер) # ------------------------------------------------------------------
aiofiles >= 23.0.0 # 10. Переранжирование (кросс-энкодеры)
# ------------------------------------------------------------------
sentence-transformers >= 2.2.0 # Кросс-энкодер для переранжирования контекста
# Парсинг HTML # ------------------------------------------------------------------
beautifulsoup4 >= 4.12.0 # 11. Тестирование
lxml >= 4.9.0 # ------------------------------------------------------------------
readability-lxml >= 0.8.1 # Извлечение основного текста из HTML pytest >= 8.0.0 # Фреймворк для тестов
pytest-asyncio >= 0.23.0 # Поддержка asyncio в pytest
pytest-mock >= 3.12.0 # Поддержка моков в pytest
# Переранжирование (кросс-энкодер) # ------------------------------------------------------------------
sentence-transformers >= 2.2.0 # 12. HTTP-сервер (RAG-ядро)
# ------------------------------------------------------------------
fastapi >= 0.115.0 # Веб-фреймворк для RAG-сервера
uvicorn >= 0.30.0 # ASGI-сервер для FastAPI
python-multipart >= 0.0.9 # Поддержка multipart/form-data (загрузка файлов)
slowapi >= 0.1.0 # Rate limiting для защиты эндпоинтов
# Тесты # ------------------------------------------------------------------
pytest >= 8.0.0 # 13. Инфраструктура: retry, circuit breaker, кэши, логирование
pytest-asyncio >= 0.23.0 # ------------------------------------------------------------------
pytest-mock >= 3.12.0 tenacity >= 8.2.0 # Декоратор для повторных попыток (retry) используется в giga_client
pybreaker >= 2.1.0 # Circuit breaker для защиты от сбоев внешних API
# Библиотека проверки русского языка redis >= 5.0.0 # Клиент Redis (синхронный, для совместимости)
razdel >= 0.5.0 aioredis >= 2.0.0 # Асинхронный клиент Redis (для кэширования эмбеддингов и SOMA)
python-json-logger >= 2.0.0 # JSON-форматирование логов (для централизованного сбора)
# Морфологический анализатор для хирургической замены
mawo-pymorphy3 >= 0.1.0
# Генерация sparse-векторов для гибридного поиска (FastEmbed)
fastembed >= 0.4.0
# HTTP-сервер для RAG-ядра (FastAPI + Uvicorn)
fastapi >= 0.115.0
uvicorn >= 0.30.0
# Для CORS поддержки
python-multipart >= 0.0.9
# Защита от перегрузки эндпоинтов
slowapi>=0.1.0
tenacity >= 8.2.0 # для retry в giga_client
pybreaker >= 2.1.0 # circuit breaker
redis >= 5.0.0 # для кэширования (если используется Redis)
aioredis >= 2.0.0 # асинхронный Redis
python-json-logger >= 2.0.0 # для JSON-логирования