Yermek68 commited on
Commit
80ea55c
·
verified ·
1 Parent(s): e9436d4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -23
Dockerfile CHANGED
@@ -1,8 +1,11 @@
1
- # =========================================
2
- # 🚀 Eroha Summarizer PRO v5.1Stable Build (Gradio 5 + Pydantic 2)
3
- # =========================================
 
 
4
  FROM python:3.10-slim
5
 
 
6
  ENV DEBIAN_FRONTEND=noninteractive \
7
  PYTHONUNBUFFERED=1 \
8
  PYTHONIOENCODING=utf8 \
@@ -11,46 +14,56 @@ ENV DEBIAN_FRONTEND=noninteractive \
11
  HF_HUB_DISABLE_SYMLINKS_WARNING=1 \
12
  GRADIO_ANALYTICS_ENABLED=False \
13
  GRADIO_SERVER_PORT=7860 \
14
- GRADIO_SERVER_NAME=0.0.0.0 \
15
- PYTHONWARNINGS=ignore \
16
- PIP_NO_CACHE_DIR=1
17
 
18
- # --- System dependencies ---
19
  RUN apt-get update && apt-get install -y \
20
  git git-lfs ffmpeg curl wget libgl1 libmagic1 fonts-dejavu-core \
21
- cmake build-essential libprotobuf-dev protobuf-compiler libsentencepiece-dev \
22
  && git lfs install && rm -rf /var/lib/apt/lists/*
23
 
 
24
  WORKDIR /app
 
25
 
26
- # --- Copy dependencies ---
27
  COPY requirements.txt /app/
28
-
29
- # --- Upgrade pip and install deps ---
30
- RUN pip install -U pip setuptools wheel && \
31
  pip install --no-cache-dir -r /app/requirements.txt && \
32
- pip install --no-cache-dir tokenizers==0.19.1 && \
33
  pip cache purge
34
 
35
- # --- Build SentencePiece manually ---
36
- RUN git clone --depth=1 https://github.com/google/sentencepiece.git /tmp/sentencepiece && \
37
- cd /tmp/sentencepiece && mkdir build && cd build && \
38
- cmake .. && make -j $(nproc) && make install && ldconfig && \
39
- rm -rf /tmp/sentencepiece
40
 
41
- # --- Asyncio patch ---
42
  RUN echo "\
43
- import warnings, asyncio\n\
44
  def _patched_close(self):\n\
45
  try:\n\
46
  super(asyncio.SelectorEventLoop, self)._close_self_pipe()\n\
47
  except Exception:\n\
48
  pass\n\
49
  asyncio.SelectorEventLoop._close_self_pipe = _patched_close\n\
50
- warnings.filterwarnings('ignore')\n\
51
- print('✅ Asyncio patch & warnings muted')\n\
52
  " > /usr/local/lib/python3.10/site-packages/_asyncio_patch.py
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  EXPOSE 7860
55
- COPY app.py /app/
 
56
  CMD ["bash", "-c", "python -W ignore -m _asyncio_patch && python app.py"]
 
1
+ # ================================
2
+ # Hugging Face Space DockerfileEroha Summarizer PRO
3
+ # Версия: 3.6 (максимальная оптимизация)
4
+ # ================================
5
+
6
  FROM python:3.10-slim
7
 
8
+ # --- Системные ENV ---
9
  ENV DEBIAN_FRONTEND=noninteractive \
10
  PYTHONUNBUFFERED=1 \
11
  PYTHONIOENCODING=utf8 \
 
14
  HF_HUB_DISABLE_SYMLINKS_WARNING=1 \
15
  GRADIO_ANALYTICS_ENABLED=False \
16
  GRADIO_SERVER_PORT=7860 \
17
+ GRADIO_SERVER_NAME=0.0.0.0
 
 
18
 
19
+ # --- Установка системных библиотек ---
20
  RUN apt-get update && apt-get install -y \
21
  git git-lfs ffmpeg curl wget libgl1 libmagic1 fonts-dejavu-core \
 
22
  && git lfs install && rm -rf /var/lib/apt/lists/*
23
 
24
+ # --- Рабочая папка ---
25
  WORKDIR /app
26
+ RUN mkdir -p /home/user/.cache/huggingface && chmod -R 777 /home/user
27
 
28
+ # --- Копирование зависимостей ---
29
  COPY requirements.txt /app/
30
+ RUN pip install --no-cache-dir -U pip setuptools wheel && \
 
 
31
  pip install --no-cache-dir -r /app/requirements.txt && \
 
32
  pip cache purge
33
 
34
+ # --- Копирование приложения ---
35
+ COPY app.py /app/
 
 
 
36
 
37
+ # --- Патч asyncio ---
38
  RUN echo "\
39
+ import warnings, asyncio, selectors\n\
40
  def _patched_close(self):\n\
41
  try:\n\
42
  super(asyncio.SelectorEventLoop, self)._close_self_pipe()\n\
43
  except Exception:\n\
44
  pass\n\
45
  asyncio.SelectorEventLoop._close_self_pipe = _patched_close\n\
46
+ warnings.filterwarnings('ignore', category=ResourceWarning)\n\
47
+ print('✅ Asyncio selector patch applied')\n\
48
  " > /usr/local/lib/python3.10/site-packages/_asyncio_patch.py
49
 
50
+ # --- Предзагрузка моделей (ускорение старта) ---
51
+ RUN python - <<'EOF'
52
+ from transformers import pipeline
53
+ for model in [
54
+ "facebook/bart-large-cnn",
55
+ "IlyaGusev/mbart_ru_sum_gazeta",
56
+ "csebuetnlp/mT5_multilingual_XLSum"
57
+ ]:
58
+ pipeline("summarization", model=model, cache_dir="/home/user/.cache/huggingface")
59
+ print("✅ Модели успешно предзагружены")
60
+ EOF
61
+
62
+ # --- Очистка ---
63
+ RUN apt-get clean && rm -rf /root/.cache
64
+
65
+ # --- Порт ---
66
  EXPOSE 7860
67
+
68
+ # --- Запуск ---
69
  CMD ["bash", "-c", "python -W ignore -m _asyncio_patch && python app.py"]