fruitpicker01 commited on
Commit
2a6c9b9
·
verified ·
1 Parent(s): 4851d71

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -23
app.py CHANGED
@@ -20,6 +20,7 @@ from transformers import AutoTokenizer, AutoModel
20
  from utils import best_text_choice
21
  import asyncio
22
  import inspect
 
23
 
24
  tokenizer = AutoTokenizer.from_pretrained("ai-forever/ru-en-RoSBERTa")
25
  model = AutoModel.from_pretrained("ai-forever/ru-en-RoSBERTa")
@@ -33,6 +34,8 @@ MISTRAL_API_KEY_4 = os.getenv('MISTRAL_API_KEY_4')
33
  MISTRAL_API_KEY_5 = os.getenv('MISTRAL_API_KEY_5')
34
  token = os.getenv('GITHUB_TOKEN')
35
 
 
 
36
  # Клиент для генерации сообщений
37
  client_mistral_generate = Mistral(api_key=MISTRAL_API_KEY)
38
 
@@ -198,31 +201,19 @@ def clean_message(message):
198
  # return f"Ошибка при обращении к GigaChat-Pro: {e}"
199
 
200
  async def generate_message_mistral_generate(prompt, max_retries=5):
201
- #def generate_message_mistral_generate(prompt):
202
- # try:
203
- # messages = [SystemMessage(content=prompt)]
204
- # res = chat_pro(messages)
205
- # cleaned_message = clean_message(res.content.strip())
206
- # return cleaned_message
207
- # except Exception as e:
208
- # return f"Ошибка при обращении к GigaChat-Pro: {e}"
209
-
210
  retries = 0
211
  while retries < max_retries:
212
  try:
213
- chat_response = await client_mistral_generate.chat.complete_async(
214
- model="mistral-large-latest",
215
- temperature=1.0,
216
- min_tokens=81,
217
- max_tokens=106,
218
- messages=[
219
- {
220
- "role": "user",
221
- "content": prompt
222
- },
223
- ]
224
  )
225
- cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
 
 
226
  return cleaned_message
227
  except Exception as e:
228
  error_message = str(e)
@@ -232,10 +223,48 @@ async def generate_message_mistral_generate(prompt, max_retries=5):
232
  await asyncio.sleep(wait_time)
233
  retries += 1
234
  else:
235
- print(f"Error calling Mistral: {e}")
236
  return None
237
- print("Failed to get response from Mistral after maximum retries.")
238
  return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
 
240
  async def generate_message_mistral_check(prompt, max_retries=5):
241
  #def generate_message_mistral_check(prompt):
 
20
  from utils import best_text_choice
21
  import asyncio
22
  import inspect
23
+ from openai import AsyncOpenAI
24
 
25
  tokenizer = AutoTokenizer.from_pretrained("ai-forever/ru-en-RoSBERTa")
26
  model = AutoModel.from_pretrained("ai-forever/ru-en-RoSBERTa")
 
34
  MISTRAL_API_KEY_5 = os.getenv('MISTRAL_API_KEY_5')
35
  token = os.getenv('GITHUB_TOKEN')
36
 
37
+ client_openai = client = AsyncOpenAI()
38
+
39
  # Клиент для генерации сообщений
40
  client_mistral_generate = Mistral(api_key=MISTRAL_API_KEY)
41
 
 
201
  # return f"Ошибка при обращении к GigaChat-Pro: {e}"
202
 
203
  async def generate_message_mistral_generate(prompt, max_retries=5):
 
 
 
 
 
 
 
 
 
204
  retries = 0
205
  while retries < max_retries:
206
  try:
207
+ # Call to OpenAI's GPT-4o-mini model
208
+ chat_response = await client.chat.completions.create(
209
+ model="gpt-4o-mini",
210
+ messages=[{"role": "user", "content": prompt}],
211
+ temperature=1.1,
212
+ max_tokens=101
 
 
 
 
 
213
  )
214
+
215
+ # Process and clean the response
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)
 
223
  await asyncio.sleep(wait_time)
224
  retries += 1
225
  else:
226
+ print(f"Error calling GPT-4o-mini: {e}")
227
  return None
228
+ print("Failed to get response from GPT-4o-mini after maximum retries.")
229
  return None
230
+ #def generate_message_mistral_generate(prompt):
231
+ # try:
232
+ # messages = [SystemMessage(content=prompt)]
233
+ # res = chat_pro(messages)
234
+ # cleaned_message = clean_message(res.content.strip())
235
+ # return cleaned_message
236
+ # except Exception as e:
237
+ # return f"Ошибка при обращении к GigaChat-Pro: {e}"
238
+
239
+ # retries = 0
240
+ # while retries < max_retries:
241
+ # try:
242
+ # chat_response = await client_mistral_generate.chat.complete_async(
243
+ # model="mistral-large-latest",
244
+ # temperature=1.0,
245
+ # min_tokens=81,
246
+ # max_tokens=106,
247
+ # messages=[
248
+ # {
249
+ # "role": "user",
250
+ # "content": prompt
251
+ # },
252
+ # ]
253
+ # )
254
+ # cleaned_message = clean_message(chat_response.choices[0].message.content.strip())
255
+ # return cleaned_message
256
+ # except Exception as e:
257
+ # error_message = str(e)
258
+ # if "Status 429" in error_message or "Server disconnected without sending a response" in error_message:
259
+ # wait_time = 3
260
+ # print(f"Rate limit exceeded or server did not respond. Waiting {wait_time} seconds before retrying...")
261
+ # await asyncio.sleep(wait_time)
262
+ # retries += 1
263
+ # else:
264
+ # print(f"Error calling Mistral: {e}")
265
+ # return None
266
+ # print("Failed to get response from Mistral after maximum retries.")
267
+ # return None
268
 
269
  async def generate_message_mistral_check(prompt, max_retries=5):
270
  #def generate_message_mistral_check(prompt):