fruitpicker01 commited on
Commit
4a52928
·
verified ·
1 Parent(s): b7db29d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -12
app.py CHANGED
@@ -15,9 +15,9 @@ gc_key = os.getenv('GC_KEY')
15
  token = os.getenv('GITHUB_TOKEN')
16
 
17
  # Авторизация в сервисе GigaChat
18
- chat_pro = GigaChat(credentials=gc_key, model='GigaChat-Pro', max_tokens=512, verify_ssl_certs=False)
19
- chat_lite = GigaChat(credentials=gc_key, model='GigaChat', max_tokens=512, verify_ssl_certs=False)
20
- chat_plus = GigaChat(credentials=gc_key, model='GigaChat-Plus', max_tokens=512, verify_ssl_certs=False)
21
 
22
  # Загрузка данных из Excel-файла
23
  try:
@@ -93,11 +93,21 @@ def generate_message_gpt4o(prompt):
93
  except Exception as e:
94
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
95
 
 
 
 
 
 
 
 
 
 
96
  def generate_message_gigachat_pro(prompt):
97
  try:
98
  messages = [SystemMessage(content=prompt)]
99
  res = chat_pro(messages)
100
- return res.content.strip()
 
101
  except Exception as e:
102
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
103
 
@@ -106,7 +116,8 @@ def generate_message_gigachat_lite(prompt):
106
  time.sleep(2)
107
  messages = [SystemMessage(content=prompt)]
108
  res = chat_lite(messages)
109
- return res.content.strip()
 
110
  except Exception as e:
111
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
112
 
@@ -115,11 +126,12 @@ def generate_message_gigachat_plus(prompt):
115
  time.sleep(2)
116
  messages = [SystemMessage(content=prompt)]
117
  res = chat_plus(messages)
118
- return res.content.strip()
 
119
  except Exception as e:
120
- return f"Ошибка при обращении к GigaChat-Lite+: {e}"
121
 
122
- # Функция для обработки нажатия кнопки Submit и последовательного отображения результатов
123
  def generate_messages(description, advantages, *selected_values):
124
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
125
 
@@ -179,16 +191,18 @@ def perform_personalization(standard_message, personalization_prompt):
179
  full_prompt = f"{personalization_prompt}\n\nТекст для адаптации:\n{standard_message}"
180
  return generate_message_gpt4o(full_prompt)
181
 
 
182
  def perform_personalization_gigachat(standard_message, personalization_prompt, model):
183
  full_prompt = f"{personalization_prompt}\n\nТекст для адаптации:\n{standard_message}"
184
  if model == "gigachat_pro":
185
- return generate_message_gigachat_pro(full_prompt)
186
  elif model == "gigachat_lite":
187
- return generate_message_gigachat_lite(full_prompt)
188
  elif model == "gigachat_plus":
189
- return generate_message_gigachat_plus(full_prompt)
 
190
 
191
- # Функция для выполнения персонализации с использованием yield
192
  def personalize_messages_with_yield(gpt4o_message, gigachat_pro_message, gigachat_lite_message, gigachat_plus_message, *selected_values):
193
  personalization_prompt = generate_personalization_prompt(*selected_values)
194
  yield personalization_prompt, "", "", "", "", "Промпт для персонализации сгенерирован"
 
15
  token = os.getenv('GITHUB_TOKEN')
16
 
17
  # Авторизация в сервисе GigaChat
18
+ chat_pro = GigaChat(credentials=gc_key, model='GigaChat-Pro', max_tokens=70, verify_ssl_certs=False)
19
+ chat_lite = GigaChat(credentials=gc_key, model='GigaChat', max_tokens=70, verify_ssl_certs=False)
20
+ chat_plus = GigaChat(credentials=gc_key, model='GigaChat-Plus', max_tokens=70, verify_ssl_certs=False)
21
 
22
  # Загрузка данных из Excel-файла
23
  try:
 
93
  except Exception as e:
94
  return f"Ошибка при обращении к ChatGPT-4o-Latest: {e}"
95
 
96
+ def clean_message(message):
97
+ # Если сообщение не заканчивается на точку или восклицательный знак, обрезаем его до последней точки
98
+ if not message.endswith(('.', '!', '?')):
99
+ last_period = message.rfind('.')
100
+ if last_period != -1:
101
+ message = message[:last_period + 1]
102
+ return message
103
+
104
+ # Обновленные функции генерации сообщений с учетом обрезки незаконченных предложений
105
  def generate_message_gigachat_pro(prompt):
106
  try:
107
  messages = [SystemMessage(content=prompt)]
108
  res = chat_pro(messages)
109
+ cleaned_message = clean_message(res.content.strip())
110
+ return cleaned_message
111
  except Exception as e:
112
  return f"Ошибка при обращении к GigaChat-Pro: {e}"
113
 
 
116
  time.sleep(2)
117
  messages = [SystemMessage(content=prompt)]
118
  res = chat_lite(messages)
119
+ cleaned_message = clean_message(res.content.strip())
120
+ return cleaned_message
121
  except Exception as e:
122
  return f"Ошибка при обращении к GigaChat-Lite: {e}"
123
 
 
126
  time.sleep(2)
127
  messages = [SystemMessage(content=prompt)]
128
  res = chat_plus(messages)
129
+ cleaned_message = clean_message(res.content.strip())
130
+ return cleaned_message
131
  except Exception as e:
132
+ return f"Ошибка при обращении к GigaChat-Plus: {e}"
133
 
134
+ # Обновляем генерацию сообщений для отображения в интерфейсе
135
  def generate_messages(description, advantages, *selected_values):
136
  standard_prompt = generate_standard_prompt(description, advantages, *selected_values)
137
 
 
191
  full_prompt = f"{personalization_prompt}\n\nТекст для адаптации:\n{standard_message}"
192
  return generate_message_gpt4o(full_prompt)
193
 
194
+ # Также обновляем функции персонализации
195
  def perform_personalization_gigachat(standard_message, personalization_prompt, model):
196
  full_prompt = f"{personalization_prompt}\n\nТекст для адаптации:\n{standard_message}"
197
  if model == "gigachat_pro":
198
+ result = generate_message_gigachat_pro(full_prompt)
199
  elif model == "gigachat_lite":
200
+ result = generate_message_gigachat_lite(full_prompt)
201
  elif model == "gigachat_plus":
202
+ result = generate_message_gigachat_plus(full_prompt)
203
+ return clean_message(result)
204
 
205
+ # Обновляем блок персонализации
206
  def personalize_messages_with_yield(gpt4o_message, gigachat_pro_message, gigachat_lite_message, gigachat_plus_message, *selected_values):
207
  personalization_prompt = generate_personalization_prompt(*selected_values)
208
  yield personalization_prompt, "", "", "", "", "Промпт для персонализации сгенерирован"