Bjg6742635 commited on
Commit
eade13f
·
1 Parent(s): a67e9f5

Update Dockerfile and app.py

Browse files
Files changed (2) hide show
  1. Dockerfile +9 -4
  2. app.py +2 -2
Dockerfile CHANGED
@@ -2,17 +2,22 @@ FROM python:3.11-slim
2
 
3
  WORKDIR /app
4
 
 
 
 
5
  # Сначала копируем requirements.txt, чтобы использовать кэш
6
  COPY requirements.txt .
7
 
8
  # Устанавливаем зависимости
9
  RUN pip3 install --no-cache-dir -r requirements.txt
10
 
11
- RUN python -c "import spacy; spacy.cli.download('ru_core_news_lg')"
12
- RUN python -c "import nltk; nltk.download('punkt_tab', download_dir='/usr/local/share/nltk_data')"
13
- RUN python -c "import nltk; nltk.download('stopwords')"
 
 
14
 
15
- # Копируем остальные файлы
16
  COPY . .
17
 
18
  EXPOSE 8501
 
2
 
3
  WORKDIR /app
4
 
5
+ # Установка системных зависимостей, если нужно
6
+ RUN apt-get update && apt-get install -y git gcc && rm -rf /var/lib/apt/lists/*
7
+
8
  # Сначала копируем requirements.txt, чтобы использовать кэш
9
  COPY requirements.txt .
10
 
11
  # Устанавливаем зависимости
12
  RUN pip3 install --no-cache-dir -r requirements.txt
13
 
14
+ # === НОВЫЙ БЛОК: Загрузка моделей при сборке ===
15
+ # Загрузка модели и токенизатора transformers
16
+ RUN python -c "from transformers import AutoTokenizer, AutoModelForQuestionAnswering; \
17
+ AutoTokenizer.from_pretrained('AlexKay/xlm-roberta-large-qa-multilingual-finedtuned-ru'); \
18
+ AutoModelForQuestionAnswering.from_pretrained('AlexKay/xlm-roberta-large-qa-multilingual-finedtuned-ru')"
19
 
20
+ # Копируем остальные файлы и делаем новую загрузку
21
  COPY . .
22
 
23
  EXPOSE 8501
app.py CHANGED
@@ -132,7 +132,7 @@ def get_answer_from_qa_model(user_question, df, vectorizer, tfidf_matrix, model,
132
 
133
  # Проверка, что similarities не пустой
134
  if len(similarities) == 0:
135
- return "Тема не входит в программу этих классов."
136
 
137
  best_match_idx = similarities.argmax()
138
  best_score = similarities[best_match_idx]
@@ -140,7 +140,7 @@ def get_answer_from_qa_model(user_question, df, vectorizer, tfidf_matrix, model,
140
  if best_score > 0.1:
141
  # Проверка, что индекс не выходит за границы
142
  if best_match_idx >= len(df):
143
- return "Тема не входит в программу этих классов."
144
 
145
  context = df.iloc[best_match_idx]['answer']
146
  question = user_question
 
132
 
133
  # Проверка, что similarities не пустой
134
  if len(similarities) == 0:
135
+ return "Вопрос не входит в программу этих классов."
136
 
137
  best_match_idx = similarities.argmax()
138
  best_score = similarities[best_match_idx]
 
140
  if best_score > 0.1:
141
  # Проверка, что индекс не выходит за границы
142
  if best_match_idx >= len(df):
143
+ return "Вопрос не входит в программу этих классов."
144
 
145
  context = df.iloc[best_match_idx]['answer']
146
  question = user_question