Update app.py
Browse files
app.py
CHANGED
@@ -37,12 +37,50 @@ used_model = "gemini-2.5-flash-preview-04-17"
|
|
37 |
|
38 |
print("Define test response work")
|
39 |
def model_response(message, history):
|
40 |
-
print(f"\n=========\nUser message\n{message}\n")
|
41 |
-
chat = client.chats.create(model=used_model, history=history)
|
42 |
-
print(message["text"])
|
43 |
-
response = chat.send_message(message["text"])
|
44 |
-
print(f"\nResponse\n{response}=========\n")
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
print("Define test1 response work")
|
48 |
def random_response(message, history):
|
|
|
37 |
|
38 |
print("Define test response work")
|
39 |
def model_response(message, history):
|
40 |
+
# print(f"\n=========\nUser message\n{message}\n")
|
41 |
+
# chat = client.chats.create(model=used_model, history=history)
|
42 |
+
# print(message["text"])
|
43 |
+
# response = chat.send_message(message["text"])
|
44 |
+
# print(f"\nResponse\n{response}=========\n")
|
45 |
+
|
46 |
+
# return response.text
|
47 |
+
|
48 |
+
# --- Преобразование формата истории Gradio в формат Google GenAI ---
|
49 |
+
gemini_history = []
|
50 |
+
# История Gradio обычно [['user1', 'bot1'], ['user2', 'bot2'], ..., ['usern', None]]
|
51 |
+
# Нам нужно отформатировать предыдущие ходы (user1/bot1, user2/bot2 и т.д.)
|
52 |
+
# Текущее сообщение 'message' будет отправлено *после* создания чата с историей.
|
53 |
+
for human, assistant in history:
|
54 |
+
# Добавить сообщение пользователя, если оно существует
|
55 |
+
if human is not None:
|
56 |
+
gemini_history.append({'role': 'user', 'parts': [{'text': human}]})
|
57 |
+
# Добавить сообщение ассистента, если оно существует (для предыдущих ходов)
|
58 |
+
if assistant is not None:
|
59 |
+
gemini_history.append({'role': 'model', 'parts': [{'text': assistant}]})
|
60 |
+
|
61 |
+
print(f"Отформатированная история для Gemini: {gemini_history}")
|
62 |
+
|
63 |
+
try:
|
64 |
+
# Создать новую сессию чата с историческим контекстом
|
65 |
+
# Примечание: Это инициализирует чат с предыдущими ходами.
|
66 |
+
# Вместо client.chats.create используем client.start_chat
|
67 |
+
chat = client.start_chat(history=gemini_history)
|
68 |
+
|
69 |
+
# Отправить *текущее* сообщение пользователя
|
70 |
+
response = chat.send_message(message)
|
71 |
+
|
72 |
+
# Извлечь текстовый ответ
|
73 |
+
response_text = response.text
|
74 |
+
|
75 |
+
print(f"Ответ модели: {response_text}")
|
76 |
+
|
77 |
+
return response_text
|
78 |
+
|
79 |
+
except Exception as e:
|
80 |
+
print(f"Ошибка вызова Google GenAI API: {e}")
|
81 |
+
# Обработка потенциальных ошибок, например, блокировка модерацией контента, ошибки API
|
82 |
+
# Возможно, вы захотите вернуть пользователю информативное сообщение
|
83 |
+
return f"Произошла ошибка при генерации ответа: {e}"
|
84 |
|
85 |
print("Define test1 response work")
|
86 |
def random_response(message, history):
|