Commit 2bfc27eb by ccran

feat: 增加测试结果;

parent 07aaa16d
......@@ -7,7 +7,8 @@
"__source_file__": "今麦郎合同审核.xlsx",
"ground_truth": "不合格",
"__source_type__": "excel",
"prompt": "你是乙方(供方、卖方)法律部门的合同审查助手 
# 交付时间审查
1、合同必须明确交货时间,且满足以下任一约定方式:
- 约定以“方案确认后XX天”作为交付时限
- 约定以“技术协议签订后XX天”作为交付时限
2、本审查只需输出一个审查结果项,如果有合格项,则优先输出合格项,如果全是不合格项,优先输出信息量最丰富最完整的不合格项
# 审查不合格建议
1、交付要提及方案确认或技术协议签订为起始时间点
# 审查约束
- 输出包括审查的句子、详情、结果、建议以及句子所在的合同分段
- 审查结果为合格/不合格,合格的审查结果无需输出建议
- 审查句子严格提取关键且详细的句子内容,保留换行、空格、标点符号等特殊字符
- 结果以JSON数组的格式返回,例如```json [{\"original_text\":\"审查句子\",\"details\":\"审查详情\",\"result\":\"不合格\",\"suggest\":\"审查建议\"}]```
依据审查要点,遵循审查约束,完成合同审查,一步步仔细思考。"
"prompt": "你是乙方(供方、卖方)法律部门的合同审查助手 
# 交付时间审查
1、合同必须明确交货时间,且满足以下任一约定方式:
- 约定以“方案确认后XX天”作为交付时限
- 约定以“技术协议签订后XX天”作为交付时限
2、本审查只需输出一个审查结果项,如果有合格项,则优先输出合格项,如果全是不合格项,优先输出信息量最丰富最完整的不合格项
# 审查不合格建议
1、交付要提及方案确认或技术协议签订为起始时间点
# 审查约束
- 输出包括审查的句子、详情、结果、建议以及句子所在的合同分段
- 审查结果为合格/不合格,合格的审查结果无需输出建议
- 审查句子严格提取关键且详细的句子内容,保留换行、空格、标点符号等特殊字符
- 结果以JSON数组的格式返回,例如```json [{\"original_text\":\"审查句子\",\"details\":\"审查详情\",\"result\":\"不合格\",\"suggest\":\"审查建议\"}]```
依据审查要点,遵循审查约束,完成合同审查,一步步仔细思考。",
"rsp": "<think>\n好的,我现在需要处理用户提供的合同条款,检查交付时间是否符合他们的要求。用户是乙方的法律部门员工,他们希望确保合同中明确交货时间,并且使用特定的起始时间点,比如方案确认或技术协议签订后的一定天数。\n\n首先,我需要仔细阅读用户提供的合同条款。用户给出的合同条款只有“2025.09.30”,这看起来像是一个具体的日期,而不是以“方案确认后XX天”或“技术协议签订后XX天”这样的方式约定的。根据用户的规定,必须满足其中一种约定方式,否则就是不合格的。\n\n接下来,我要确认用户的需求。他们要求合同中必须明确交货时间,并且使用指定的起始时间点。这里的“明确”指的是条款中有明确的日期吗?还是只要起始时间点和天数组合在一起就算明确?用户可能希望的是后者,即起始事件加天数,而不是一个固定的日期。因为固定日期可能在合同签订时就已经确定,无法适应项目进度的变化,比如方案确认或技术协议签订可能在合同签订之后发生。因此,用户可能更倾向于动态的时间点,而不是一个固定的日期。\n\n现在分析用户提供的条款。条款是“2025.09.30”,这只是一个固定的日期,没有提到任何起始时间点,也没有天数。所以,根据用户的审查规则,这不符合要求。因此,审查结果应该是不合格的。在不合格的情况下,我需要给出建议,比如添加方案确认或技术协议签订作为起始时间点,并说明所需天数。\n\n然后,需要按照用户提供的输出格式来生成JSON数组。审查的句子是用户给出的内容,即“2025.09.30”,详情说明这个条款没有满足任一要求,结果不合格,建议按照用户提供的审查建议修改,即添加方案确认或技术协议签订作为起始时间点,并说明天数。\n\n需要确保输出符合所有约束条件,比如只输出一个审查结果项,如果有合格项则优先输出合格的,否则输出最完整的不合格项。这里用户提供的条款是不合格的,所以必须输出一个不合格的条目。同时,审查句子要严格提取原内容,保留标点和空格。用户给出的条款只有日期,所以原样提取即可。详情部分需要说明问题所在,即没有使用指定的起始时间点,而是一个固定日期。建议部分则需要指出需要修改的地方,即加入起始时间点和天数。\n\n最后检查是否符合所有要求,确认JSON格式正确,键名和结构无误。用户提供的示例中的键名正确,所以需要保持一致。确保没有遗漏任何必要的信息,并且内容准确。\n</think>\n\n```json\n[\n {\n \"original_text\": \"2025.09.30\",\n \"details\": \"条款未约定以方案确认或技术协议签订作为起始时间点,仅规定了固定日期(2025年9月30日),不符合交付时间的任一合格约定方式(必须以方案确认后XX天/技术协议签订后XX天表述)\",\n \"result\": \"不合格\",\n \"suggest\": \"删除固定日期表述,改用“方案确认后【具体天数】天”或“技术协议签订后【具体天数】天”作为交付时间表述,并根据项目进度明确具体天数\",\n \"contract_section\": \"交货时间条款\"\n }\n]\n```"
}
],
"安装调试与指导审查": [
......@@ -18,7 +19,8 @@
"__source_file__": "今麦郎合同审核.xlsx",
"ground_truth": "不合格",
"__source_type__": "excel",
"prompt": "你是乙方(供方、卖方)法律部门的合同审查助手 &#10;# 安装调试与指导审查&#10;1、针对产品的安装/安装调试/安装指导/指导/技术服务,主体为乙方,动作为提供/负责/参与/指导/进行/培训,审查不合格;如果主体是甲方,或者动作为配合/协助/支持,审查合格&#10;# 审查不合格建议&#10;1、协商修改,修改安装调试条款为配合/协助&#10;2、删除指导相关条款或者修改为配合、技术支持&#10;# 审查约束&#10;- 输出包括审查的句子、详情、结果、建议以及句子所在的合同分段&#10;- 审查结果为合格/不合格,合格的审查结果无需输出建议&#10;- 审查句子严格提取关键且详细的句子内容,保留换行、空格、标点符号等特殊字符&#10;- 结果以JSON数组的格式返回,例如```json [{\"original_text\":\"审查句子\",\"details\":\"审查详情\",\"result\":\"不合格\",\"suggest\":\"审查建议\"}]```&#10;依据审查要点,遵循审查约束,完成合同审查,一步步仔细思考。"
"prompt": "你是乙方(供方、卖方)法律部门的合同审查助手 &#10;# 安装调试与指导审查&#10;1、针对产品的安装/安装调试/安装指导/指导/技术服务,主体为乙方,动作为提供/负责/参与/指导/进行/培训,审查不合格;如果主体是甲方,或者动作为配合/协助/支持,审查合格&#10;# 审查不合格建议&#10;1、协商修改,修改安装调试条款为配合/协助&#10;2、删除指导相关条款或者修改为配合、技术支持&#10;# 审查约束&#10;- 输出包括审查的句子、详情、结果、建议以及句子所在的合同分段&#10;- 审查结果为合格/不合格,合格的审查结果无需输出建议&#10;- 审查句子严格提取关键且详细的句子内容,保留换行、空格、标点符号等特殊字符&#10;- 结果以JSON数组的格式返回,例如```json [{\"original_text\":\"审查句子\",\"details\":\"审查详情\",\"result\":\"不合格\",\"suggest\":\"审查建议\"}]```&#10;依据审查要点,遵循审查约束,完成合同审查,一步步仔细思考。",
"rsp": "<think>\n好的,我现在需要处理这个合同审查任务。首先,用户提供了合同中的一段内容,需要根据给定的审查要点来判断是否合格。审查的关键点在于确定主体是乙方还是甲方,以及动作是否符合规定。\n\n首先,我得仔细阅读用户提供的合同条款。原文是:“承揽人还应向定作人及时提供所有与之相关的技术服务,包括但不限于:承揽人根据附件2《技术协议》和本合同规定负责产品的设计、制造、运输、安装和调试指导、试车、性能考核和验收、质保期内问题处理和技术服务。”\n\n这里,“承揽人”通常是指乙方,也就是供方或卖方,而“定作人”是甲方,买方。所以这里的主体是乙方,也就是乙方负责某些技术服务。接下来要看具体动作是否符合合格要求。审查要点提到,如果主体是乙方,动作为提供/负责/参与/指导/进行/培训,属于不合格;如果主体是甲方,或者动作为配合/协助/支持,才合格。\n\n在原文中,乙方需要“负责产品的设计、制造、运输、安装和调试指导”,这些都是乙方的义务。其中提到“安装和调试指导”,这里的动作是“指导”,属于审查中提到的不合格情况,因为主体是乙方,而动作是指导。根据用户给出的审查规则,这种情况下应判定为不合格。\n\n接下来,用户还提到需要给出审查建议,包括协商修改为配合/协助,或者删除指导条款,改为支持等。因此,针对“安装和调试指导”部分,应该建议修改为配合或协助,或者改为技术支持等措辞。\n\n现在需要按照约束条件生成结果,以JSON数组格式输出,每个条目包含审查句子、详情、结果和建议。要注意审查句子要准确提取,保留原标点和格式。检查是否还有其他可能的不合格项,但根据当前条款,主要问题集中在“安装和调试指导”这部分。因此,只需要生成一条记录即可,结果为不合格,并给出相应的建议。\n\n最后,确保输出格式正确,没有语法错误,并且符合用户要求的所有约束,比如保留句子中的换行和标点,结果为合格则无需建议,但这里显然不合格,所以需要包含建议部分。\n</think>\n\n```json\n[\n {\n \"original_text\": \"承揽人还应向定作人及时提供所有与之相关的技术服务,包括但不限于:承揽人根据附件2《技术协议》和本合同规定负责产品的设计、制造、运输、安装和调试指导、试车、性能考核和验收、质保期内问题处理和技术服务。\",\n \"details\": \"合同条款中主体为乙方(承揽人),动作为'负责...安装和调试指导',违反了审查要点中'乙方主体+提供/负责/指导等动作为审查不合格'的要求。\",\n \"result\": \"不合格\",\n \"suggest\": \"建议将'安装和调试指导'修改为'技术支持和指导'或协商修改为'提供安装调试协助'等符合配合性质的表述\"\n }\n]\n```"
}
]
}
\ No newline at end of file
......@@ -208,7 +208,6 @@ def filter_rows_by_llm_result(
continue
ground_truth_text = str(ground_truth).strip()
ground_truth_text = '合格'
try:
for attempt in Retrying(wait=wait_fixed(1), stop=stop_after_attempt(max_retries), reraise=True):
......@@ -231,7 +230,7 @@ def filter_rows_by_llm_result(
)
raise ValueError("llm result mismatch")
print(f"[llm_match] row={index}, attempt={attempt.retry_state.attempt_number},result={result_text}")
row['rsp'] = f'<think>{reasoning_content}</think>{result_text}'
row['rsp'] = f'<think>{reasoning_content}</think>{content}'
except Exception as exc:
row['rsp'] = ''
print(f"[llm_drop] row={index}, error={exc}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment