Rid3 commited on
Commit
461bc4b
·
verified ·
1 Parent(s): 118035b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -11
Dockerfile CHANGED
@@ -1,32 +1,37 @@
1
  FROM python:3.10-slim
2
 
3
- # 1. Системные зависимости инимальные)
4
  RUN apt-get update && apt-get install -y \
5
- curl \
6
- libopenblas-dev \
7
  gcc \
8
  g++ \
 
 
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  WORKDIR /app
12
 
13
- # 2. Обновляем pip и ставим зависимости
14
- RUN pip install --no-cache-dir --upgrade pip
15
  RUN pip install --no-cache-dir fastapi uvicorn huggingface_hub pydantic
16
 
17
- # 3. Ставим llama-cpp-python (ПРЕДСОБРАННЫЙ бинарник для CPU)
18
- # Это исключает этап компиляции и ошибку с CMake
19
- RUN pip install llama-cpp-python==0.2.90 \
20
- --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cpu
21
 
22
- # 4. Настройка пользователя
23
  RUN useradd -m -u 1000 user
24
  USER user
25
  ENV HOME=/home/user \
26
- PATH=/home/user/.local/bin:$PATH
27
 
 
28
  COPY --chown=user app.py .
29
 
 
30
  EXPOSE 7860
31
 
 
32
  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
+ build-essential \
6
+ cmake \
7
  gcc \
8
  g++ \
9
+ python3-dev \
10
+ libopenblas-dev \
11
+ curl \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
  WORKDIR /app
15
 
16
+ # 2. Устанавливаем базовые Python-библиотеки
 
17
  RUN pip install --no-cache-dir fastapi uvicorn huggingface_hub pydantic
18
 
19
+ # 3. Компилируем llama-cpp-python под текущую ОС (Debian)
20
+ # Это гарантирует отсутствие конфликтов библиотек
21
+ ENV CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS"
22
+ RUN pip install --no-cache-dir --no-binary llama-cpp-python llama-cpp-python==0.2.90
23
 
24
+ # 4. Настройка прав пользователя (требование Hugging Face)
25
  RUN useradd -m -u 1000 user
26
  USER user
27
  ENV HOME=/home/user \
28
+ PATH="/home/user/.local/bin:${PATH}"
29
 
30
+ # 5. Копируем твой код
31
  COPY --chown=user app.py .
32
 
33
+ # Открываем порт
34
  EXPOSE 7860
35
 
36
+ # Запуск сервера
37
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]