Rid3 commited on
Commit
0c48d91
·
verified ·
1 Parent(s): 8e857a2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -18
Dockerfile CHANGED
@@ -1,31 +1,32 @@
1
  FROM python:3.10-slim
2
 
3
- # 1. Системные зависимости для сборки и работы OpenBLAS (ускорение CPU)
4
  RUN apt-get update && apt-get install -y \
5
- build-essential \
6
- gcc \
7
- g++ \
8
  libopenblas-dev \
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  WORKDIR /app
12
 
13
- # 2. Ставим базовые пакеты под root
14
- RUN pip install --no-cache-dir fastapi uvicorn huggingface_hub pydantic
 
 
 
 
 
 
15
 
16
- # 3. Ставим llama-cpp-python (готовый бинарник для CPU)
17
- RUN pip install llama-cpp-python==0.2.90 \
18
- --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
19
-
20
- # 4. Создаем пользователя и копируем код
21
  RUN useradd -m -u 1000 user
22
- COPY --chown=user app.py .
23
-
24
- # Переключаемся на пользователя
25
  USER user
26
- ENV PATH="/home/user/.local/bin:$PATH"
 
27
 
28
- # Порт для Hugging Face Spaces
29
- EXPOSE 7860
30
 
31
- CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
 
1
  FROM python:3.10-slim
2
 
3
+ # 1. Устанавливаем только необходимые системные либы
4
  RUN apt-get update && apt-get install -y \
 
 
 
5
  libopenblas-dev \
6
+ curl \
7
  && rm -rf /var/lib/apt/lists/*
8
 
9
  WORKDIR /app
10
 
11
+ # 2. Устанавливаем зависимости
12
+ # Используем стабильную версию и официальный индекс для CPU
13
+ RUN pip install --no-cache-dir \
14
+ fastapi \
15
+ uvicorn \
16
+ huggingface_hub \
17
+ pydantic \
18
+ llama-cpp-python==0.2.90
19
 
20
+ # 3. Настройка пользователя (требование Hugging Face)
 
 
 
 
21
  RUN useradd -m -u 1000 user
 
 
 
22
  USER user
23
+ ENV HOME=/home/user \
24
+ PATH=/home/user/.local/bin:$PATH
25
 
26
+ # 4. Копируем твой app.py
27
+ COPY --chown=user app.py .
28
 
29
+ # 5. Скрипт запуска: сначала качаем модель, потом запускаем сервер
30
+ # Мы скачиваем версию Q4_K_M (золотая середина веса и качества)
31
+ CMD python -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='bartowski/Llama-3.2-3B-Instruct-GGUF', filename='Llama-3.2-3B-Instruct-Q4_K_M.gguf', local_dir='./')" && \
32
+ uvicorn app:app --host 0.0.0.0 --port 7860