KoDer123 commited on
Commit
64f9530
·
verified ·
1 Parent(s): 66b58b6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -3
app.py CHANGED
@@ -10,6 +10,13 @@ import logging
10
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
11
  logger = logging.getLogger(__name__)
12
 
 
 
 
 
 
 
 
13
  # Информация о системе и CUDA
14
  logger.info("===== Запуск приложения =====")
15
  logger.info(f"PyTorch: {torch.__version__}")
@@ -82,6 +89,7 @@ def load_model():
82
  logger.info("Загружаем токенизатор...")
83
  tokenizer = AutoTokenizer.from_pretrained(
84
  model_name,
 
85
  cache_dir=CACHE_DIR,
86
  local_files_only=False
87
  )
@@ -94,7 +102,8 @@ def load_model():
94
  # Определяем оптимальный режим загрузки
95
  model_kwargs = {
96
  "cache_dir": CACHE_DIR,
97
- "trust_remote_code": True
 
98
  }
99
 
100
  # Проверяем доступность CUDA
@@ -105,7 +114,6 @@ def load_model():
105
  })
106
  else:
107
  logger.info("Загружаем модель в режиме CPU...")
108
- # Удаляем параметры, требующие Accelerate
109
  # Без параметров device_map и low_cpu_mem_usage
110
 
111
  # Загружаем модель
@@ -157,7 +165,10 @@ def respond(
157
 
158
  # Проверяем, загружена ли модель
159
  if not is_model_loaded or model is None or tokenizer is None:
160
- return "Модель не загружена или произошла ошибка при загрузке. Проверьте логи для получения дополнительной информации."
 
 
 
161
 
162
  # Замеряем время
163
  start_time = time.time()
@@ -213,6 +224,16 @@ def respond(
213
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
214
  gr.Markdown("# НереальностьQA - Чат с экспертом по эзотерике")
215
 
 
 
 
 
 
 
 
 
 
 
216
  with gr.Row():
217
  with gr.Column(scale=4):
218
  chatbot = gr.Chatbot(label="Диалог", type="messages") # Исправление типа чатбота
@@ -261,6 +282,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
261
  * **Режим работы**: {"GPU" if torch.cuda.is_available() else "CPU"}
262
  * **Директория для кэша**: {CACHE_DIR}
263
  * **Статус загрузки**: {"Успешно" if is_model_loaded else "Ошибка"}
 
264
  """)
265
 
266
  # Примеры вопросов
 
10
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
11
  logger = logging.getLogger(__name__)
12
 
13
+ # Получаем API токен из переменных окружения
14
+ HF_TOKEN = os.environ.get("HF_TOKEN", None)
15
+ if HF_TOKEN:
16
+ logger.info("API токен найден")
17
+ else:
18
+ logger.warning("API токен не найден! Для доступа к закрытой модели необходимо добавить HF_TOKEN в секреты репозитория")
19
+
20
  # Информация о системе и CUDA
21
  logger.info("===== Запуск приложения =====")
22
  logger.info(f"PyTorch: {torch.__version__}")
 
89
  logger.info("Загружаем токенизатор...")
90
  tokenizer = AutoTokenizer.from_pretrained(
91
  model_name,
92
+ token=HF_TOKEN, # Добавляем токен для доступа к закрытой модели
93
  cache_dir=CACHE_DIR,
94
  local_files_only=False
95
  )
 
102
  # Определяем оптимальный режим загрузки
103
  model_kwargs = {
104
  "cache_dir": CACHE_DIR,
105
+ "trust_remote_code": True,
106
+ "token": HF_TOKEN # Добавляем токен для доступа к закрытой модели
107
  }
108
 
109
  # Проверяем доступность CUDA
 
114
  })
115
  else:
116
  logger.info("Загружаем модель в режиме CPU...")
 
117
  # Без параметров device_map и low_cpu_mem_usage
118
 
119
  # Загружаем модель
 
165
 
166
  # Проверяем, загружена ли модель
167
  if not is_model_loaded or model is None or tokenizer is None:
168
+ if not HF_TOKEN:
169
+ return "Модель не загружена. Для доступа к закрытой модели требуется добавить HF_TOKEN в секреты репозитория."
170
+ else:
171
+ return "Модель не загружена или произошла ошибка при загрузке. Проверьте логи для получения дополнительной информации."
172
 
173
  # Замеряем время
174
  start_time = time.time()
 
224
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
225
  gr.Markdown("# НереальностьQA - Чат с экспертом по эзотерике")
226
 
227
+ if not HF_TOKEN:
228
+ gr.Markdown("""
229
+ ## ⚠️ Внимание: API токен не найден!
230
+
231
+ Для работы с закрытой моделью необходимо добавить HF_TOKEN в секреты репозитория:
232
+ 1. Settings > Repository secrets > New secret
233
+ 2. Name: HF_TOKEN
234
+ 3. Value: ваш токен доступа с huggingface.co/settings/tokens
235
+ """, elem_id="warning-box")
236
+
237
  with gr.Row():
238
  with gr.Column(scale=4):
239
  chatbot = gr.Chatbot(label="Диалог", type="messages") # Исправление типа чатбота
 
282
  * **Режим работы**: {"GPU" if torch.cuda.is_available() else "CPU"}
283
  * **Директория для кэша**: {CACHE_DIR}
284
  * **Статус загрузки**: {"Успешно" if is_model_loaded else "Ошибка"}
285
+ * **API токен**: {"Настроен" if HF_TOKEN else "Отсутствует"}
286
  """)
287
 
288
  # Примеры вопросов