Редактировать requirements.txt
This commit is contained in:
159
requirements.txt
159
requirements.txt
@@ -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-логирования
|
|
||||||
Reference in New Issue
Block a user