File size: 2,296 Bytes
80ea55c
 
 
 
 
f692008
74e13e2
80ea55c
334cb84
 
2256e3d
334cb84
 
 
 
 
80ea55c
334cb84
80ea55c
334cb84
2256e3d
 
334cb84
80ea55c
74e13e2
80ea55c
74e13e2
80ea55c
334cb84
80ea55c
2256e3d
334cb84
74e13e2
80ea55c
 
91daf3d
80ea55c
2256e3d
80ea55c
2256e3d
 
 
 
 
 
80ea55c
 
2256e3d
 
80ea55c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334cb84
80ea55c
 
4b82f29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# ================================
# ✅ 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"]