From 157d3348a6d13fbfbc573b6f5e56b3af6bc64cb4 Mon Sep 17 00:00:00 2001 From: jinye_huang Date: Thu, 10 Jul 2025 16:15:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86judeger=E7=9A=84?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/__pycache__/file_io.cpython-312.pyc | Bin 10437 -> 10987 bytes .../content_judger.cpython-312.pyc | Bin 5680 -> 5971 bytes utils/tweet/content_judger.py | 14 ++++++++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/utils/__pycache__/file_io.cpython-312.pyc b/utils/__pycache__/file_io.cpython-312.pyc index 7838b7d08fd89e0ef2edb419976694f3ed9f74c8..fd6f2e968538f1cc3d25d7fbfe4253b7c495e91f 100644 GIT binary patch delta 1274 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 bM5otL|2i7{l?^82v1yF+_zx7Yp!R Dict[str, Any]: + async def judge_content(self, generated_content: Union[str, Dict[str, Any]], topic: Dict[str, Any]) -> Dict[str, Any]: """ 调用AI审核生成的内容 Args: - generated_content: 已生成的原始内容(JSON字符串格式) + generated_content: 已生成的原始内容(JSON字符串或字典对象) topic: 与内容相关的原始选题字典 Returns: @@ -62,10 +62,16 @@ class ContentJudger: else: logger.warning("从原始内容提取标签失败") + # 将字典转换为JSON字符串,以便在提示中使用 + if isinstance(generated_content, dict): + generated_content_str = json.dumps(generated_content, ensure_ascii=False, indent=2) + else: + generated_content_str = str(generated_content) + # 1. 构建提示 system_prompt = self.prompt_builder.get_system_prompt() user_prompt = self.prompt_builder.build_user_prompt( - generated_content=generated_content, + generated_content=generated_content_str, topic=topic )