zelk12 commited on
Commit
aaef489
·
verified ·
1 Parent(s): 18f9a93

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -6
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
- return response.text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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):