Files
fckbot/requirements.txt
2026-07-01 08:03:18 +00:00

109 lines
6.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================
# requirements.txt зависимости проекта «Эфцекабот»
# ============================================================
# Версия: 3.0.0
# Дата: 2026-07-01
# ============================================================
#
# Группы зависимостей:
# - Ядро и XMPP
# - HTTP и сеть
# - Конфигурация и окружение
# - GigaChat API
# - Обработка документов и файлов
# - Векторная база данных Qdrant
# - Токенизация и NLP
# - База данных PostgreSQL
# - Веб-скрапинг и парсинг
# - Переранжирование (кросс-энкодеры)
# - Тестирование
# - Инфраструктура (retry, circuit breaker, кэши, логирование)
# ============================================================
# ------------------------------------------------------------------
# 1. Ядро и XMPP
# ------------------------------------------------------------------
slixmpp >= 1.8.5 # XMPP клиент для ботов
# ------------------------------------------------------------------
# 2. HTTP и сеть
# ------------------------------------------------------------------
requests >= 2.31.0 # Синхронные HTTP-запросы (скачивание файлов)
aiohttp >= 3.9.0 # Асинхронный HTTP-клиент для RAG-сервера и веб-скрапера
aiofiles >= 23.0.0 # Асинхронная работа с файлами
# ------------------------------------------------------------------
# 3. Конфигурация и окружение
# ------------------------------------------------------------------
python-dotenv >= 1.0.0 # Загрузка переменных окружения из .env
pyyaml >= 6.0 # Парсинг YAML-конфигов (rag.conf, bot.conf)
# ------------------------------------------------------------------
# 4. GigaChat API
# ------------------------------------------------------------------
gigachat >= 0.2.1 # Официальный SDK GigaChat (генерация, эмбеддинги)
# ------------------------------------------------------------------
# 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 архивов
# ------------------------------------------------------------------
# 6. Векторная база данных Qdrant
# ------------------------------------------------------------------
qdrant-client >= 1.9.0 # Клиент Qdrant (синхронный и асинхронный)
fastembed >= 0.4.0 # Генерация sparse-векторов (BM25) для гибридного поиска
# ------------------------------------------------------------------
# 7. Токенизация и NLP
# ------------------------------------------------------------------
tiktoken >= 0.5.0 # Точный подсчёт токенов (для обрезки истории и чанкинга)
razdel >= 0.5.0 # Разбиение русского текста на предложения
mawo-pymorphy3 >= 0.1.0 # Морфологический анализ для хирургической замены
# ------------------------------------------------------------------
# 8. База данных PostgreSQL
# ------------------------------------------------------------------
asyncpg >= 0.29.0 # Асинхронный драйвер PostgreSQL (пул соединений)
# ------------------------------------------------------------------
# 9. Веб-скрапинг и парсинг HTML
# ------------------------------------------------------------------
beautifulsoup4 >= 4.12.0 # Парсинг HTML
lxml >= 4.9.0 # Быстрый парсер для BeautifulSoup
readability-lxml >= 0.8.1 # Извлечение основного текста из HTML
# ------------------------------------------------------------------
# 10. Переранжирование (кросс-энкодеры)
# ------------------------------------------------------------------
sentence-transformers >= 2.2.0 # Кросс-энкодер для переранжирования контекста
# ------------------------------------------------------------------
# 11. Тестирование
# ------------------------------------------------------------------
pytest >= 8.0.0 # Фреймворк для тестов
pytest-asyncio >= 0.23.0 # Поддержка asyncio в pytest
pytest-mock >= 3.12.0 # Поддержка моков в pytest
# ------------------------------------------------------------------
# 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 для защиты эндпоинтов
# ------------------------------------------------------------------
# 13. Инфраструктура: retry, circuit breaker, кэши, логирование
# ------------------------------------------------------------------
tenacity >= 8.2.0 # Декоратор для повторных попыток (retry) используется в giga_client
pybreaker >= 2.1.0 # Circuit breaker для защиты от сбоев внешних API
redis >= 5.0.0 # Клиент Redis (синхронный, для совместимости)
aioredis >= 2.0.0 # Асинхронный клиент Redis (для кэширования эмбеддингов и SOMA)
python-json-logger >= 2.0.0 # JSON-форматирование логов (для централизованного сбора)