Moonfanz commited on
Commit
551e7b3
·
verified ·
1 Parent(s): 0d4d92c

Upload 4 files

Browse files
Files changed (1) hide show
  1. app.py +21 -26
app.py CHANGED
@@ -233,36 +233,31 @@ def handle_api_error(error, attempt):
233
  return 0, None
234
 
235
  elif isinstance(error, generation_types.BlockedPromptException):
236
- logger.warning(f"BlockedPromptException caught. Attributes:")
237
- for attr_name in dir(error):
238
- try:
239
- attr_value = getattr(error, attr_name)
240
- logger.warning(f" {attr_name}: {attr_value}")
241
- except Exception as e:
242
- logger.warning(f" {attr_name}: Could not retrieve value - {e}")
243
-
244
  try:
245
- reason = error.prompt_feedback.block_reason
246
- if reason == generation_types.PromptFeedback.BlockReason.SAFETY:
247
- logger.warning(f"提示因安全原因被阻止:{error.prompt_feedback.safety_ratings}")
248
- return 2, None
249
- elif reason == generation_types.PromptFeedback.BlockReason.BLOCKLIST:
250
- logger.warning(f"提示因包含阻止列表中的术语而被阻止")
251
- return 2, None
252
- elif reason == generation_types.PromptFeedback.BlockReason.PROHIBITED_CONTENT:
253
- logger.warning(f"提示因包含禁止内容而被阻止")
254
- return 2, None
255
- elif reason == generation_types.PromptFeedback.BlockReason.OTHER:
256
- logger.warning(f"提示因未知原因被阻止")
257
- return 2, None
258
- elif reason == generation_types.PromptFeedback.BlockReason.BLOCK_REASON_UNSPECIFIED:
259
- logger.warning(f"提示因未知原因被阻止")
260
- return 2, None
 
 
261
  else:
262
  logger.warning(f"提示被阻止,原因未知: {reason}")
263
  return 2, None
264
- except AttributeError:
265
- logger.error("AttributeError: 'BlockedPromptException' object has no attribute 'prompt_feedback'")
 
266
  return 2, None
267
 
268
  else:
 
233
  return 0, None
234
 
235
  elif isinstance(error, generation_types.BlockedPromptException):
 
 
 
 
 
 
 
 
236
  try:
237
+ reason = error.args[0].split(':', 1)[0].strip()
238
+ block_reason_str = error.args[0].split(':', 1)[1].strip()
239
+ if reason == "block_reason":
240
+ if block_reason_str == "SAFETY":
241
+ logger.warning(f"提示因安全原因被阻止")
242
+ return 2, None
243
+ elif block_reason_str == "BLOCKLIST":
244
+ logger.warning(f"提示因包含阻止列表中的术语而被阻止")
245
+ return 2, None
246
+ elif block_reason_str == "PROHIBITED_CONTENT":
247
+ logger.warning(f"提示因包含禁止内容而被阻止")
248
+ return 2, None
249
+ elif block_reason_str == "OTHER":
250
+ logger.warning(f"提示因未知原因被阻止")
251
+ return 2, None
252
+ else:
253
+ logger.warning(f"提示被阻止,原因未知: {reason}")
254
+ return 2, None
255
  else:
256
  logger.warning(f"提示被阻止,原因未知: {reason}")
257
  return 2, None
258
+ except (IndexError, AttributeError) as e:
259
+ logger.error(f"Error accessing block_reason: {e}")
260
+ logger.error(f"BlockedPromptException: {error}")
261
  return 2, None
262
 
263
  else: