Xolkin commited on
Commit
5b1faf8
·
verified ·
1 Parent(s): 1859ba2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -9
app.py CHANGED
@@ -16,7 +16,7 @@ try:
16
  model=model_name,
17
  device=-1, # Используем CPU
18
  framework="pt",
19
- max_length=100, # Уменьшен для стабильности на CPU
20
  truncation=True,
21
  model_kwargs={"torch_dtype": torch.float32}
22
  )
@@ -26,8 +26,8 @@ except Exception as e:
26
  exit(1)
27
 
28
  def respond(message, max_tokens=100, temperature=0.5, top_p=0.7):
29
- # Явный промпт для медицинского ответа на русском
30
- prompt = f"Вы медицинский чат-бот. Пользователь говорит: '{message}'. Дайте краткий ответ с диагнозом и лечением на русском языке."
31
  try:
32
  logger.info(f"Генерация ответа для: {message}")
33
  outputs = generator(
@@ -40,13 +40,17 @@ def respond(message, max_tokens=100, temperature=0.5, top_p=0.7):
40
  )
41
  response = outputs[0]["generated_text"].replace(prompt, "").strip()
42
  logger.info(f"Ответ сгенерирован: {response}")
43
- # Упрощаем ответ, если он содержит случайный текст
44
- if "диагноз" not in response.lower() and "лечение" not in response.lower():
45
- response = "Извините, не могу дать точный ответ. Проконсультируйтесь с врачом."
 
 
 
 
 
46
  except Exception as e:
47
  logger.error(f"Ошибка генерации ответа: {e}")
48
- response = f"Ошибка генерации: {e}. Попробуйте позже."
49
- return response
50
 
51
  demo = gr.Interface(
52
  fn=respond,
@@ -59,7 +63,7 @@ demo = gr.Interface(
59
  outputs="text",
60
  title="Медицинский чат-бот на базе RuGPT-3medium",
61
  theme=gr.themes.Soft(),
62
- description="Введите симптомы, и чат-бот попробует предложить диагноз и лечение. Для точной помощи обратитесь к врачу."
63
  )
64
 
65
  if __name__ == "__main__":
 
16
  model=model_name,
17
  device=-1, # Используем CPU
18
  framework="pt",
19
+ max_length=100, # Уменьшен для стабильности
20
  truncation=True,
21
  model_kwargs={"torch_dtype": torch.float32}
22
  )
 
26
  exit(1)
27
 
28
  def respond(message, max_tokens=100, temperature=0.5, top_p=0.7):
29
+ # Явный промпт с акцентом на медицинский ответ
30
+ prompt = f"Вы медицинский чат-бот. Пользователь говорит: '{message}'. Дайте краткий ответ только с диагнозом и лечением на русском языке в формате: Диагноз: [диагноз]. Лечение: [лечение]."
31
  try:
32
  logger.info(f"Генерация ответа для: {message}")
33
  outputs = generator(
 
40
  )
41
  response = outputs[0]["generated_text"].replace(prompt, "").strip()
42
  logger.info(f"Ответ сгенерирован: {response}")
43
+
44
+ # Проверка и форматирование ответа
45
+ if "Диагноз:" in response and "Лечение:" in response:
46
+ return response
47
+ else:
48
+ # Если формат не соблюден, пытаемся извлечь диагноз и генерируем базовое лечение
49
+ diagnosis = response.split(".")[0].strip() if response else "Неизвестно"
50
+ return f"Диагноз: {diagnosis}. Лечение: Обратитесь к врачу для точной помощи."
51
  except Exception as e:
52
  logger.error(f"Ошибка генерации ответа: {e}")
53
+ return "Ошибка генерации. Проконсультируйтесь с врачом."
 
54
 
55
  demo = gr.Interface(
56
  fn=respond,
 
63
  outputs="text",
64
  title="Медицинский чат-бот на базе RuGPT-3medium",
65
  theme=gr.themes.Soft(),
66
+ description="Введите симптомы, и чат-бот предложит диагноз и лечение. Для точной помощи обратитесь к врачу."
67
  )
68
 
69
  if __name__ == "__main__":