Spaces:
Running
Running
| # ================================ | |
| # ✅ Hugging Face Space Dockerfile — Eroha Summarizer PRO | |
| # Версия: 3.6 (максимальная оптимизация) | |
| # ================================ | |
| FROM python:3.10-slim | |
| # --- Системные ENV --- | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| PYTHONUNBUFFERED=1 \ | |
| PYTHONIOENCODING=utf8 \ | |
| HF_HOME=/home/user/.cache/huggingface \ | |
| TRANSFORMERS_CACHE=/home/user/.cache/huggingface/transformers \ | |
| HF_HUB_DISABLE_SYMLINKS_WARNING=1 \ | |
| GRADIO_ANALYTICS_ENABLED=False \ | |
| GRADIO_SERVER_PORT=7860 \ | |
| GRADIO_SERVER_NAME=0.0.0.0 | |
| # --- Установка системных библиотек --- | |
| RUN apt-get update && apt-get install -y \ | |
| git git-lfs ffmpeg curl wget libgl1 libmagic1 fonts-dejavu-core \ | |
| && git lfs install && rm -rf /var/lib/apt/lists/* | |
| # --- Рабочая папка --- | |
| WORKDIR /app | |
| RUN mkdir -p /home/user/.cache/huggingface && chmod -R 777 /home/user | |
| # --- Копирование зависимостей --- | |
| COPY requirements.txt /app/ | |
| RUN pip install --no-cache-dir -U pip setuptools wheel && \ | |
| pip install --no-cache-dir -r /app/requirements.txt && \ | |
| pip cache purge | |
| # --- Копирование приложения --- | |
| COPY app.py /app/ | |
| # --- Патч asyncio --- | |
| RUN echo "\ | |
| import warnings, asyncio, selectors\n\ | |
| def _patched_close(self):\n\ | |
| try:\n\ | |
| super(asyncio.SelectorEventLoop, self)._close_self_pipe()\n\ | |
| except Exception:\n\ | |
| pass\n\ | |
| asyncio.SelectorEventLoop._close_self_pipe = _patched_close\n\ | |
| warnings.filterwarnings('ignore', category=ResourceWarning)\n\ | |
| print('✅ Asyncio selector patch applied')\n\ | |
| " > /usr/local/lib/python3.10/site-packages/_asyncio_patch.py | |
| # --- Предзагрузка моделей (ускорение старта) --- | |
| RUN python - <<'EOF' | |
| from transformers import pipeline | |
| for model in [ | |
| "facebook/bart-large-cnn", | |
| "IlyaGusev/mbart_ru_sum_gazeta", | |
| "csebuetnlp/mT5_multilingual_XLSum" | |
| ]: | |
| pipeline("summarization", model=model, cache_dir="/home/user/.cache/huggingface") | |
| print("✅ Модели успешно предзагружены") | |
| EOF | |
| # --- Очистка --- | |
| RUN apt-get clean && rm -rf /root/.cache | |
| # --- Порт --- | |
| EXPOSE 7860 | |
| # --- Запуск --- | |
| CMD ["bash", "-c", "python app.py"] | |