# ============================================================ # 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-форматирование логов (для централизованного сбора)