fruitpicker01 commited on
Commit
07e121a
1 Parent(s): 981362f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +93 -93
app.py CHANGED
@@ -4,7 +4,7 @@ import os
4
  import pandas as pd
5
  import time
6
  from langchain.schema import SystemMessage
7
- #from langchain_community.chat_models.gigachat import GigaChat
8
  from openpyxl import load_workbook
9
  import plotly.graph_objects as go
10
  import random
@@ -36,25 +36,25 @@ client_mistral_check = Mistral(api_key=MISTRAL_API_KEY)
36
  morph = pymorphy3.MorphAnalyzer()
37
 
38
  # Авторизация в GigaChat Pro
39
- #gc_key = os.getenv('GC_KEY')
40
- # chat_pro = GigaChat(credentials=gc_key, model='GigaChat', max_tokens=68, temperature=1.15, verify_ssl_certs=False)
41
- # chat_pro = GigaChat(
42
- # credentials=gc_key,
43
- # model='GigaChat-Pro-preview',
44
- # base_url='https://gigachat-preview.devices.sberbank.ru/api/v1/',
45
- # max_tokens=68,
46
- # temperature=1.15,
47
- # verify_ssl_certs=False
48
- #)
49
-
50
- #chat_pro_check = GigaChat(
51
- # credentials=gc_key,
52
- # model='GigaChat-Pro-preview',
53
- # base_url='https://gigachat-preview.devices.sberbank.ru/api/v1/',
54
- # max_tokens=3000,
55
- # temperature=0.8,
56
- # verify_ssl_certs=False
57
- #)
58
 
59
  approach_stats = {
60
  "Начни сообщение с призыва к действию с продуктом.": {"failed_checks": defaultdict(int), "total_attempts": 0},
@@ -188,79 +188,79 @@ def clean_message(message):
188
  # except Exception as e:
189
  # return f"Ошибка при обращении к GigaChat-Pro: {e}"
190
 
191
- def generate_message_mistral_generate(prompt, max_retries=5):
192
- #def generate_message_mistral_generate(prompt):
193
- # try:
194
- # messages = [SystemMessage(content=prompt)]
195
- # res = chat_pro(messages)
196
- # cleaned_message = clean_message(res.content.strip())
197
- # return cleaned_message
198
- # except Exception as e:
199
- # return f"Ошибка при обращении к GigaChat-Pro: {e}"
200
-
201
- retries = 0
202
- while retries < max_retries:
203
- try:
204
- chat_response = client_mistral_generate.chat.complete(
205
- model="mistral-large-latest",
206
- temperature=1.0,
207
- min_tokens=81,
208
- max_tokens=108,
209
- messages=[
210
- {
211
- "role": "user",
212
- "content": prompt
213
- },
214
- ]
215
- )
216
- cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
217
- return cleaned_message
218
- except Exception as e:
219
- error_message = str(e)
220
- if "Status 429" in error_message or "Server disconnected without sending a response" in error_message:
221
- wait_time = 3
222
- print(f"Превышен лимит запросов или сервер не ответил. Ожидание {wait_time} секунд перед повторной попыткой...")
223
- time.sleep(wait_time)
224
- retries += 1
225
- else:
226
- print(f"Ошибка при обращении к Mistral: {e}")
227
- return None
228
- print("Не удалось получить ответ от Mistral после максимального числа попыток.")
229
- return None
230
-
231
- def generate_message_mistral_check(prompt, max_retries=5):
232
- #def generate_message_mistral_check(prompt):
233
- # try:
234
- # messages = [SystemMessage(content=prompt)]
235
- # res2 = chat_pro_check(messages)
236
- # cleaned_message = clean_message(res2.content.strip())
237
- # return cleaned_message
238
- # except Exception as e:
239
- # return f"Ошибка при обращении к GigaChat-Pro: {e}"
240
- retries = 0
241
- while retries < max_retries:
242
- try:
243
- chat_response = client_mistral_check.chat.complete(
244
- model="mistral-large-latest",
245
- temperature=0.2,
246
- messages=[
247
- {
248
- "role": "user",
249
- "content": prompt
250
- },
251
- ]
252
- )
253
- cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
254
- return cleaned_message
255
- except Exception as e:
256
- if "Status 429" in str(e) or "Server disconnected without sending a response" in str(e):
257
- wait_time = 3 # Можно установить фиксированную задержку
258
- print(f"Превышен лимит запро��ов. Ожидание {wait_time} секунд перед повторной попыткой...")
259
- time.sleep(wait_time)
260
- retries += 1
261
- else:
262
- print(f"Ошибка при обращении к Mistral: {e}")
263
- return None
264
 
265
  #def generate_check_gigachat_pro(prompt):
266
  # try:
 
4
  import pandas as pd
5
  import time
6
  from langchain.schema import SystemMessage
7
+ from langchain_community.chat_models.gigachat import GigaChat
8
  from openpyxl import load_workbook
9
  import plotly.graph_objects as go
10
  import random
 
36
  morph = pymorphy3.MorphAnalyzer()
37
 
38
  # Авторизация в GigaChat Pro
39
+ gc_key = os.getenv('GC_KEY')
40
+ chat_pro = GigaChat(credentials=gc_key, model='GigaChat', max_tokens=68, temperature=1.15, verify_ssl_certs=False)
41
+ chat_pro = GigaChat(
42
+ credentials=gc_key,
43
+ model='GigaChat-Pro-preview',
44
+ base_url='https://gigachat-preview.devices.sberbank.ru/api/v1/',
45
+ max_tokens=68,
46
+ temperature=1.15,
47
+ verify_ssl_certs=False
48
+ )
49
+
50
+ chat_pro_check = GigaChat(
51
+ credentials=gc_key,
52
+ model='GigaChat-Pro-preview',
53
+ base_url='https://gigachat-preview.devices.sberbank.ru/api/v1/',
54
+ max_tokens=3000,
55
+ temperature=0.8,
56
+ verify_ssl_certs=False
57
+ )
58
 
59
  approach_stats = {
60
  "Начни сообщение с призыва к действию с продуктом.": {"failed_checks": defaultdict(int), "total_attempts": 0},
 
188
  # except Exception as e:
189
  # return f"Ошибка при обращении к GigaChat-Pro: {e}"
190
 
191
+ #def generate_message_mistral_generate(prompt, max_retries=5):
192
+ def generate_message_mistral_generate(prompt):
193
+ try:
194
+ messages = [SystemMessage(content=prompt)]
195
+ res = chat_pro(messages)
196
+ cleaned_message = clean_message(res.content.strip())
197
+ return cleaned_message
198
+ except Exception as e:
199
+ return f"Ошибка при обращении к GigaChat-Pro: {e}"
200
+
201
+ # retries = 0
202
+ # while retries < max_retries:
203
+ # try:
204
+ # chat_response = client_mistral_generate.chat.complete(
205
+ # model="mistral-large-latest",
206
+ # temperature=1.0,
207
+ # min_tokens=81,
208
+ # max_tokens=108,
209
+ # messages=[
210
+ # {
211
+ # "role": "user",
212
+ # "content": prompt
213
+ # },
214
+ # ]
215
+ # )
216
+ # cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
217
+ # return cleaned_message
218
+ # except Exception as e:
219
+ # error_message = str(e)
220
+ # if "Status 429" in error_message or "Server disconnected without sending a response" in error_message:
221
+ # wait_time = 3
222
+ # print(f"Превышен лимит запросов или сервер не ответил. Ожидание {wait_time} секунд перед повторной попыткой...")
223
+ # time.sleep(wait_time)
224
+ # retries += 1
225
+ # else:
226
+ # print(f"Ошибка при обращении к Mistral: {e}")
227
+ # return None
228
+ # print("Не удалось получить ответ от Mistral после максимального числа попыток.")
229
+ # return None
230
+
231
+ #def generate_message_mistral_check(prompt, max_retries=5):
232
+ def generate_message_mistral_check(prompt):
233
+ try:
234
+ messages = [SystemMessage(content=prompt)]
235
+ res2 = chat_pro_check(messages)
236
+ cleaned_message = clean_message(res2.content.strip())
237
+ return cleaned_message
238
+ except Exception as e:
239
+ return f"Ошибка при обращении к GigaChat-Pro: {e}"
240
+ # retries = 0
241
+ # while retries < max_retries:
242
+ # try:
243
+ # chat_response = client_mistral_check.chat.complete(
244
+ # model="mistral-large-latest",
245
+ # temperature=0.2,
246
+ # messages=[
247
+ # {
248
+ # "role": "user",
249
+ # "content": prompt
250
+ # },
251
+ # ]
252
+ # )
253
+ # cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
254
+ # return cleaned_message
255
+ # except Exception as e:
256
+ # if "Status 429" in str(e) or "Server disconnected without sending a response" in str(e):
257
+ # wait_time = 3 # Можно установить фиксированную задержку
258
+ # print(f"Превышен лимит запросов. Ожидание {wait_time} секунд перед повторной попыткой...")
259
+ # time.sleep(wait_time)
260
+ # retries += 1
261
+ # else:
262
+ # print(f"Ошибка при обращении к Mistral: {e}")
263
+ # return None
264
 
265
  #def generate_check_gigachat_pro(prompt):
266
  # try: