eroha-agentapi / Dockerfile
Yermek68's picture
Update Dockerfile
4b82f29 verified
raw
history blame
2.3 kB
# ================================
# ✅ 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"]