Kolesnikov Dmitry commited on
Commit
9ffc414
·
1 Parent(s): 8afe88e

fix: Изменённый Dockerfile и glove

Browse files
Files changed (2) hide show
  1. Dockerfile +17 -8
  2. requirements.txt +5 -2
Dockerfile CHANGED
@@ -1,30 +1,39 @@
1
- # Dockerfile.recommended
2
  FROM python:3.11-slim
3
 
4
  WORKDIR /app
5
 
6
- # системные зависимости для сборки некоторых пакетов
7
  RUN apt-get update && apt-get install -y \
8
  build-essential \
9
  python3-dev \
10
  curl \
11
  git \
 
 
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
- # апгрейд pip/setuptools/wheel и базовые бинарные зависимости
15
  RUN python -m pip install --upgrade pip setuptools wheel
16
 
17
- # заранее ставим numpy и cython — уменьшает вероятность падений в build-time
18
  RUN python -m pip install numpy cython
19
 
20
- # скопируем только requirements сначала — это улучшит кэширование сборки
21
  COPY requirements.txt .
22
 
23
- # если в requirements есть 'glove' — лучше заменить на glove-python-binary,
24
- # но эта команда оставит requirements как есть
25
  RUN python -m pip install --no-cache-dir -r requirements.txt
26
 
27
- # затем копируем всё приложение
 
 
 
 
 
 
 
 
 
28
  COPY . .
29
 
30
  EXPOSE 8501
 
1
+ # Dockerfile
2
  FROM python:3.11-slim
3
 
4
  WORKDIR /app
5
 
6
+ # системные зависимости (swig нужен для некоторых бинарных пакетов, build-essential для сборки)
7
  RUN apt-get update && apt-get install -y \
8
  build-essential \
9
  python3-dev \
10
  curl \
11
  git \
12
+ swig \
13
+ wget \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
+ # апгрейд pip/setuptools/wheel
17
  RUN python -m pip install --upgrade pip setuptools wheel
18
 
19
+ # заранее установить numpy и cython (предотвращает ошибки во время сборки некоторых пакетов)
20
  RUN python -m pip install numpy cython
21
 
22
+ # скопировать requirements и установить зависимости (без glove)
23
  COPY requirements.txt .
24
 
 
 
25
  RUN python -m pip install --no-cache-dir -r requirements.txt
26
 
27
+ # загрузим предобученные GloVe вектора (размер можно выбрать: 50, 100, 200, 300)
28
+ # пример: glove.6B.100d.txt (~165MB uncompressed)
29
+ RUN mkdir -p /app/models && \
30
+ cd /app/models && \
31
+ if [ ! -f glove.6B.zip ]; then \
32
+ wget -q https://nlp.stanford.edu/data/glove.6B.zip -O glove.6B.zip; \
33
+ fi && \
34
+ unzip -o glove.6B.zip
35
+
36
+ # копируем код приложения
37
  COPY . .
38
 
39
  EXPOSE 8501
requirements.txt CHANGED
@@ -1,5 +1,9 @@
1
- pandas
2
  numpy
 
 
 
 
 
3
  requests
4
  beautifulsoup4
5
  nltk
@@ -19,7 +23,6 @@ tqdm
19
  spacy
20
 
21
  # ЛР2 — векторизация и эмбеддинги
22
- gensim
23
  umap-learn
24
  fasttext
25
  glove-python-binary
 
 
1
  numpy
2
+ cython
3
+ gensim
4
+
5
+
6
+ pandas
7
  requests
8
  beautifulsoup4
9
  nltk
 
23
  spacy
24
 
25
  # ЛР2 — векторизация и эмбеддинги
 
26
  umap-learn
27
  fasttext
28
  glove-python-binary