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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -9
Dockerfile CHANGED
@@ -1,15 +1,16 @@
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 \
@@ -17,16 +18,15 @@ RUN pip install --no-cache-dir \
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
 
1
  FROM python:3.10-slim
2
 
3
+ # 1. Устанавливаем системные зависимости для работы C++ библиотек
4
  RUN apt-get update && apt-get install -y \
5
+ build-essential \
6
  libopenblas-dev \
7
  curl \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
  WORKDIR /app
11
 
12
+ # 2. Устанавливаем зависимости Python
13
+ # Мы фиксируем версию, которая стабильно работает на CPU
14
  RUN pip install --no-cache-dir \
15
  fastapi \
16
  uvicorn \
 
18
  pydantic \
19
  llama-cpp-python==0.2.90
20
 
21
+ # 3. Настройка прав (Hugging Face требует запуска от юзера 1000)
22
  RUN useradd -m -u 1000 user
23
  USER user
24
  ENV HOME=/home/user \
25
  PATH=/home/user/.local/bin:$PATH
26
 
27
+ # 4. Копируем твой код
28
  COPY --chown=user app.py .
29
 
30
+ # 5. Запуск
31
+ # Порт 7860 обязателен для HF Spaces
32
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]