From d66a40b286363193b5a69c078d7632535e37070d Mon Sep 17 00:00:00 2001 From: Markov Andrey Date: Wed, 1 Jul 2026 08:03:18 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20requirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 159 ++++++++++++++++++++++++++++------------------- 1 file changed, 96 insertions(+), 63 deletions(-) diff --git a/requirements.txt b/requirements.txt index 295d9e6..92b46d6 100644 --- a/requirements.txt +++ b/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 -aiohttp >= 3.9.0 # для HTTP-клиента RAG +# ------------------------------------------------------------------ +# 3. Конфигурация и окружение +# ------------------------------------------------------------------ +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 -pypdf >= 4.0.0 # PDF -openpyxl >= 3.1.0 # XLSX -python-pptx >= 0.6.21 # PPTX -pillow >= 10.0.0 # Изображения -pytesseract >= 0.3.10 # OCR (опционально) -py7zr >= 0.20.0 # 7z архивы +# ------------------------------------------------------------------ +# 6. Векторная база данных Qdrant +# ------------------------------------------------------------------ +qdrant-client >= 1.9.0 # Клиент Qdrant (синхронный и асинхронный) +fastembed >= 0.4.0 # Генерация sparse-векторов (BM25) для гибридного поиска -# Векторная БД 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 -lxml >= 4.9.0 -readability-lxml >= 0.8.1 # Извлечение основного текста из HTML +# ------------------------------------------------------------------ +# 11. Тестирование +# ------------------------------------------------------------------ +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 -pytest-asyncio >= 0.23.0 -pytest-mock >= 3.12.0 - -# Библиотека проверки русского языка -razdel >= 0.5.0 - -# Морфологический анализатор для хирургической замены -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-логирования +# ------------------------------------------------------------------ +# 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-форматирование логов (для централизованного сбора) \ No newline at end of file