yym68686 commited on
Commit
179cefd
·
1 Parent(s): 9c2088c

🐛 Bug: Fix the bug that makes moral checks unusable.

Browse files
Files changed (1) hide show
  1. main.py +13 -4
main.py CHANGED
@@ -365,9 +365,7 @@ class StatsMiddleware(BaseHTTPMiddleware):
365
 
366
  if enable_moderation and moderated_content:
367
  moderation_response = await self.moderate_content(moderated_content, token)
368
- moderation_result = moderation_response.body
369
- moderation_data = json.loads(moderation_result)
370
- is_flagged = moderation_data.get('results', [{}])[0].get('flagged', False)
371
 
372
  if is_flagged:
373
  logger.error(f"Content did not pass the moral check: %s", moderated_content)
@@ -447,7 +445,18 @@ class StatsMiddleware(BaseHTTPMiddleware):
447
  # 直接调用 moderations 函数
448
  response = await moderations(moderation_request, token)
449
 
450
- return response
 
 
 
 
 
 
 
 
 
 
 
451
 
452
  # 配置 CORS 中间件
453
  app.add_middleware(
 
365
 
366
  if enable_moderation and moderated_content:
367
  moderation_response = await self.moderate_content(moderated_content, token)
368
+ is_flagged = moderation_response.get('results', [{}])[0].get('flagged', False)
 
 
369
 
370
  if is_flagged:
371
  logger.error(f"Content did not pass the moral check: %s", moderated_content)
 
445
  # 直接调用 moderations 函数
446
  response = await moderations(moderation_request, token)
447
 
448
+ # 读取流式响应的内容
449
+ moderation_result = b""
450
+ async for chunk in response.body_iterator:
451
+ if isinstance(chunk, str):
452
+ moderation_result += chunk.encode('utf-8')
453
+ else:
454
+ moderation_result += chunk
455
+
456
+ # 解码并解析 JSON
457
+ moderation_data = json.loads(moderation_result.decode('utf-8'))
458
+
459
+ return moderation_data
460
 
461
  # 配置 CORS 中间件
462
  app.add_middleware(