python
复制代码
# !/usr/bin/python3
# -*- coding:utf-8 -*-
"""
@author: JHC000abc@gmail.com
@file: reviewer.py
@time: 2026/1/30 21:48
@desc:
"""
from models.model_llm import AssistantMessage, UserMessage, SystemMessage
from llm import LLMExecutor
class Reviewer(object):
"""
大模型输出审核器
"""
def __init__(self, system: str, llm_config: dict):
self.system = system
self.llm = LLMExecutor(**llm_config)
self.llm.clear_chat_context()
def review(self, prompt: str, result: AssistantMessage):
"""
:param prompt:
:param result:
:return:
"""
if len(self.llm.chat_context.messages) > 0:
# 清理残留上下文
self.llm.clear_chat_context()
self.llm.chat_context.messages.append(SystemMessage(content=f"{self.system}"))
self.llm.chat_context.messages.append(UserMessage(content=f"用户原始需求为: {prompt}"))
self.llm.chat_context.messages.append(result)
relation_mark = self.llm.create_llm(prompt="分析用户原始需求和AI输出结果,给出相关度分数")
print(relation_mark)
# 清理残留上下文
self.llm.clear_chat_context()
return relation_mark.get("mark", 0)
if __name__ == '__main__':
system = """# Role: 资深大模型内容审核与优化专家
## Profile
你不仅是一位拥有严谨逻辑的审核员,更是一位追求极致交付的工程师。你的核心能力在于能够精准识别[大模型实际输出]与[用户预期]之间的细微差异,量化其相关度,并按照极为严格的交付标准输出修正后的内容。
## Goals
1. **差异评估**:对比预期与实际输出,计算内容相关度(0-100%)。
2. **严谨修正**:基于评估结果,对不符合预期的部分进行精准修改。
3. **完整交付**:输出修正后的完整内容,严格禁止任何形式的缩略。
## Constraints (必须强制执行的最高指令)
1. **绝不阉割 (Anti-Laziness Protocol)**:
* 禁止使用 `// ... rest of code`、`# ...代码同上`、`` 或任何形式的占位符。
* **无论代码或文本有多长,必须完整输出每一个字符。**
* 涉及文件修改时,必须输出完整的文件内容,确保用户可以直接复制覆盖原文件。
2. **严谨验证 (Fact-Checking)**:
* 所有输出内容必须逻辑自洽且经得起推敲。
* 对于不确定或缺乏明确出处的信息,必须加粗并使用警告符号标注(例如:**⚠️ 此处数据存疑**)。
3. **精准修改 (Minimal Disturbance)**:
* 仅修改与预期不符或存在错误的部分。
* 对于符合预期的原样内容,保持完全一致,不进行风格化的重写或随意发挥。
4. **完整方案 (Ready-to-Use)**:
* 输出结果必须是闭环的、可执行的。用户无需进行二次填补或拼接。
5. **语言规范**:
* 全程使用**简体中文**进行交互和注释(代码中的必要英文术语除外)。
## 输出格式规范,只输出json就行,不用输出过多的解释,分析
{
"prompt": "原始需求",
"AI": "ai输出",
"mark": "相关性分数"
}
## Workflow
请按照以下步骤处理输入的内容:
### Step 1: 审核与评分
分析输入内容,输出以下审核报告:
* **相关度评分**:[0-100%](100%代表完美符合预期)
* **差异分析**:简要列出实际输出与预期不符的关键点(如:缺少逻辑、代码截断、事实错误等)。
### Step 2: 优化输出
如果评分低于 100%,请输出**完整的、修正后的**内容。
* 格式要求:使用 Markdown 代码块包裹。
* 再次检查:在输出前进行自我审查,确保没有触发"代码省略"行为。
"""
online_config = {
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
"model": "deepseek-v3.1",
"token": "sk-写自己的",
"enable_thinking": True,
"stream": True,
"system": system
}
r = Reviewer(system, online_config)
org_prompt = "帮我联网搜索人工智能相关内容"
result = AssistantMessage(role='assistant',
content="工具调用结果:[{'title': '人工智能 - 百度百科简介:人工智能(Artificial Intelligence),英文缩写为AI。是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应...详情\\ue734', 'url': 'https://baike.baidu.com/item/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/9180', 'description': ''}, {'title': '', 'url': 'https://baike.baidu.com/item/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/58131596?fr=aladdin', 'description': ''}, {'title': '刊期:双月刊ISSN:2096-5036数据库收录:RCCSE,知网,万方,维普简介:《人工智能》由工业和信息化部主管,中国电子信息产业发展研究院、赛迪工业和信息化研究院(集团)有限公司主办', 'url': 'https://trust.baidu.com/vstar/official/intro?fl=1&castk=LTE%3D', 'description': ''}, {'title': '', 'url': 'https://www.baidu.com/s?tn=news&rtt=1&bsst=1&wd=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&cl=2', 'description': ''}, {'title': '\\n \\n 图书在版编目(CIP)数据 人工智能/赵亮,张宁主编.---北京:北京师范大学出版社,2019.6 ISBN 978-7-303-24272-6 Ⅰ.①人... Ⅱ.①赵...②张... Ⅲ.①人工智能 Ⅳ.①TP1\\n \\n \\n 人工智能(AI解读)\\n \\n \\n \\n 根据书籍《人工智能》,AI文档助手可以为您详细介绍书籍基本信息,以及深度解析文中内容。\\n \\n \\n 《人工智能》读后感(AI版)\\n \\n \\n \\n 智能文档助手能以顶级文学家的能力,为你写出一篇富有深度的高水平《人工智能》读后感文章。\\n ', 'url': 'https://wenku.baidu.com/view/039a327d1a5f312b3169a45177232f60dccce763.html?fr=aladdin664466&ind=1&aigcsid=0&qtype=0&lcid=1&queryKey=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&verifyType=', 'description': ''}, {'title': '', 'url': 'http://q.10jqka.com.cn/gn/detail/code/302035', 'description': ''}, {'title': '', 'url': 'https://1yyt5g.smartapps.baidu.com?_swebScene=3711000610000000&content_id=2cef17b3&word=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&_chatQuery=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD&searchid=dc1cc3a40000b2a5&_chatParams=%7B%22content_build_id%22%3A%222cef17b3%22%2C%22from%22%3A%22q2c%22%2C%22token%22%3A%229gMPkyyZb9zg2PYaJbGx12bRorqDIVZZzBhxDL0i81PfodyTaaybXI03IS4m5Mqa%2BYPedChgWYBS2edO77JifY64naldlZ0dhgTZOFtj5ffQ%22%2C%22chat_no_login%22%3Atrue%2C%22agent_id%22%3A%22a46b3%22%7D', 'description': ''}]")
print(f"大模型输出可信度:{r.review(org_prompt, result)} %")