Update app.py
Browse files
app.py
CHANGED
@@ -16,7 +16,7 @@ try:
|
|
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,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 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
46 |
except Exception as e:
|
47 |
logger.error(f"Ошибка генерации ответа: {e}")
|
48 |
-
|
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__":
|