seawolf2357 commited on
Commit
912c2c6
ยท
verified ยท
1 Parent(s): d645627

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -89,7 +89,6 @@ class MyClient(discord.Client):
89
  self.is_processing = True
90
  try:
91
  if isinstance(message.channel, discord.TextChannel):
92
- # ์ƒˆ๋กœ์šด ์Šค๋ ˆ๋“œ ์ƒ์„ฑ
93
  thread = await message.channel.create_thread(name=f"์งˆ๋ฌธ: {message.author.name}", message=message)
94
  if self.is_math_question(message.content):
95
  text_response = await self.handle_math_question(message.content)
@@ -99,6 +98,9 @@ class MyClient(discord.Client):
99
  await self.send_message_with_latex(thread, response)
100
  else:
101
  logging.warning("Message is not in a TextChannel.")
 
 
 
102
  finally:
103
  self.is_processing = False
104
 
@@ -127,8 +129,8 @@ class MyClient(discord.Client):
127
 
128
  combined_response = f"์ˆ˜ํ•™ ์„ ์ƒ๋‹˜ ๋‹ต๋ณ€: ```{cohere_result}```"
129
 
130
- except HTTPError as e:
131
- logging.error(f"Hugging Face API error: {e}")
132
  combined_response = "An error occurred while processing the request."
133
 
134
  return combined_response
@@ -154,8 +156,8 @@ class MyClient(discord.Client):
154
  messages, max_tokens=1000, stream=True, temperature=0.7, top_p=0.85))
155
  full_response = ''.join([part.choices[0].delta.content for part in response if part.choices and part.choices[0].delta and part.choices[0].delta.content])
156
  conversation_history.append({"role": "assistant", "content": full_response})
157
- except HTTPError as e:
158
- logging.error(f"Hugging Face API error: {e}")
159
  full_response = "An error occurred while generating the response."
160
 
161
  return f"{user_mention}, {full_response}"
@@ -192,20 +194,24 @@ class MyClient(discord.Client):
192
  def switch_client(self):
193
  if self.hf_client == hf_client_primary:
194
  self.hf_client = hf_client_secondary
195
- logging.info("Switched to secondary client.")
196
  else:
197
  self.hf_client = hf_client_primary
198
- logging.info("Switched back to primary client.")
199
 
200
  async def retry_request(self, func, retries=5, delay=2):
201
  for i in range(retries):
202
  try:
203
  return await func()
204
- except HTTPError as e:
205
- if e.response.status_code == 503 and i < retries - 1:
 
206
  logging.warning(f"503 error encountered. Retrying in {delay} seconds...")
207
  self.switch_client() # ํด๋ผ์ด์–ธํŠธ ์ „ํ™˜
208
  await asyncio.sleep(delay)
 
 
 
209
  else:
210
  raise
211
 
 
89
  self.is_processing = True
90
  try:
91
  if isinstance(message.channel, discord.TextChannel):
 
92
  thread = await message.channel.create_thread(name=f"์งˆ๋ฌธ: {message.author.name}", message=message)
93
  if self.is_math_question(message.content):
94
  text_response = await self.handle_math_question(message.content)
 
98
  await self.send_message_with_latex(thread, response)
99
  else:
100
  logging.warning("Message is not in a TextChannel.")
101
+ except Exception as e:
102
+ logging.error(f"Error in on_message: {type(e).__name__}: {str(e)}")
103
+ await message.channel.send("An error occurred while processing the message.")
104
  finally:
105
  self.is_processing = False
106
 
 
129
 
130
  combined_response = f"์ˆ˜ํ•™ ์„ ์ƒ๋‹˜ ๋‹ต๋ณ€: ```{cohere_result}```"
131
 
132
+ except Exception as e:
133
+ logging.error(f"Error in handle_math_question: {type(e).__name__}: {str(e)}")
134
  combined_response = "An error occurred while processing the request."
135
 
136
  return combined_response
 
156
  messages, max_tokens=1000, stream=True, temperature=0.7, top_p=0.85))
157
  full_response = ''.join([part.choices[0].delta.content for part in response if part.choices and part.choices[0].delta and part.choices[0].delta.content])
158
  conversation_history.append({"role": "assistant", "content": full_response})
159
+ except Exception as e:
160
+ logging.error(f"Error in generate_response: {type(e).__name__}: {str(e)}")
161
  full_response = "An error occurred while generating the response."
162
 
163
  return f"{user_mention}, {full_response}"
 
194
  def switch_client(self):
195
  if self.hf_client == hf_client_primary:
196
  self.hf_client = hf_client_secondary
197
+ logging.info("Switched to secondary client (CohereForAI/aya-23-35B).")
198
  else:
199
  self.hf_client = hf_client_primary
200
+ logging.info("Switched back to primary client (CohereForAI/c4ai-command-r-plus).")
201
 
202
  async def retry_request(self, func, retries=5, delay=2):
203
  for i in range(retries):
204
  try:
205
  return await func()
206
+ except Exception as e:
207
+ logging.error(f"Error encountered: {type(e).__name__}: {str(e)}")
208
+ if isinstance(e, HTTPError) and e.response.status_code == 503:
209
  logging.warning(f"503 error encountered. Retrying in {delay} seconds...")
210
  self.switch_client() # ํด๋ผ์ด์–ธํŠธ ์ „ํ™˜
211
  await asyncio.sleep(delay)
212
+ elif i < retries - 1:
213
+ logging.warning(f"Error occurred. Retrying in {delay} seconds...")
214
+ await asyncio.sleep(delay)
215
  else:
216
  raise
217