12.12 资格、符合性提示词优化

This commit is contained in:
zy123 2024-12-12 09:44:04 +08:00
parent e6b2c4c6e6
commit 0b85d3a2fd
2 changed files with 37 additions and 35 deletions

View File

@ -67,11 +67,11 @@ def combine_review_standards(evaluation_method, qualification_path, output_folde
"""
first_res=clean_json_string(qianwen_long(file_id,first_query))
if first_res.get("符合性审查") == "":
print("new 资格审查")
print("call 资格审查main(货物标)")
paths=[qualification_path,evaluation_method]
output_path=os.path.join(output_folder,"merged_qualification.pdf")
merge_pdfs(paths,output_path)
final_result=combine_qualification_review(invalid_path,output_path,merged_baseinfo_path)
more_qualification_path=os.path.join(output_folder,"merged_qualification.pdf")
merge_pdfs(paths,more_qualification_path)
final_result=combine_qualification_review(invalid_path,more_qualification_path,notice_path)
else:
tobidders_notice_table_docx = pdf2docx(tobidders_notice_table) # 投标人须知前附表转docx
truncate_jsonpath = extract_tables_main(tobidders_notice_table_docx, output_folder) # 投标人须知前附表docx->json
@ -140,10 +140,10 @@ if __name__ == "__main__":
notice_path=os.path.join(output_folder,"ztbfile_notice.pdf")
# knowledge_name="zbtest20"
clause_path = ""
tobidders_notice_table = r"C:\Users\Administrator\Desktop\fsdownload\bb61d137-794c-4760-8da7-ebc10cdc2782\ztbfile_tobidders_notice_table.pdf"
tobidders_notice_table = os.path.join(output_folder,"ztbfile_tobidders_notice")
invalid_path = os.path.join(output_folder,"gcHBDL-2024-0181-001-招标文件_invalid.pdf")
merged_baseinfo_path = os.path.join(output_folder,"gcHBDL-2024-0181-001-招标文件_merged_baseinfo.pdf")
invalid_path = os.path.join(output_folder,"ztbfile_invalid.pdf")
merged_baseinfo_path = os.path.join(output_folder,"ztbfile_merged_baseinfo.pdf")
res = combine_review_standards(evaluation_method, qualification_path, output_folder, tobidders_notice_table, clause_path,
invalid_path, merged_baseinfo_path,notice_path)
print(json.dumps(res, ensure_ascii=False, indent=4))

View File

@ -379,8 +379,6 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
together_ask = False
# 初始化无效文件ID
invalid_file_id = None
first_res = {}
if qualification_path:
# 上传资格文件并获取文件ID
qualification_file_id = upload_file(qualification_path)
@ -459,20 +457,30 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
"query": '''
问题该招标文件中规定的资格性和符合性审查标准是什么的
输出要求
1.请以json格式给出外层为'资格性和符合性审查'最内层的值需要用列表包裹
2.一层嵌套内的键需要总结分类为某类评审因素或是直接使用原文中的评审因素字段标题
3.你的回答要与原文完全一致若审查标准在表格中那么单元格内的内容基本都要涵盖不要遗漏作为键值中的字符串列表项
4.最大细分为二层嵌套即可
输出示例
1.请以 JSON 格式返回内容外层键名为'资格性和符合性审查'
2.根据文本内容可以选择以下两种方式组织回答
使用嵌套键值对最多嵌套一层嵌套键名应为各评审因素或评审内容键值为具体的评审标准可以是单个字符串或字符串数组对应一个评审因素有多条评审标准的情况
不使用嵌套键值对键值为字符串数组直接将各评审标准作为键值无需分类嵌套
3.你的回答要与原文一致若审查标准在表格中那么有点审查标准的单元格内的内容基本都要涵盖不要遗漏
输出示例1
{
"资格性和符合性审查": { #一层嵌套
"某类评审因素": [ #二层嵌套
"因素1",
"因素2"
]
"资格性和符合性审查": {
"评审因素1": [
"评审标准或内容1",
"评审标准或内容2"
],
"评审因素2":"评审标准或内容3",
...
}
}
输出示例1
{
"资格性和符合性审查": [
"内容1",
"内容2",
...
]
}
'''
}
]
@ -483,10 +491,10 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
"query": '''
问题该招标文件中规定的资格性审查标准是什么的
要求与指南
1.请以 JSON 格式 返回内容外层键名为 "资格性审查"最内层键值为一个字符串列表列表长度可以为一每个元素为一个具体的评审标准
1.请以 JSON 格式 返回内容外层键名为 "资格性审查"
2.根据文本内容可以选择以下两种方式组织回答
使用嵌套键值对最多嵌套一层嵌套键名应为各评审因素或评审内容键值为具体的评审标准列表列表长度可为一
不使用嵌套键值对直接将评审标准作为键值无需分类嵌套
使用嵌套键值对最多嵌套一层嵌套键名应为各评审因素或评审内容键值为具体的评审标准可以是单个字符串或字符串数组对应一个评审因素有多条评审标准的情况
不使用嵌套键值对键值为字符串数组直接将评审标准作为键值无需分类嵌套
3.键值中的字符串内容要与原文一致不得增添或遗漏也不要回答有关符合性审查的内容
特殊情况
仔细检查评审标准或内容若发现这些标准或内容实际上是在描述资格性审查中不允许出现的情况则将外键名替换为'资格性审查(以下情况不得出现)'并将这些标准写入其中
@ -497,10 +505,7 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
"评审标准或内容1",
"评审标准或内容2"
],
"评审因素2":[
"评审标准或内容3",
"评审标准或内容4"
]
"评审因素2":"评审标准或内容3",
...
}
}
@ -508,7 +513,7 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
{
"资格性审查(以下情况不得出现)": [
"内容1",
"内容2"
"内容2",
...
]
}
@ -519,10 +524,10 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
"query": '''
问题该招标文件中规定的符合性审查标准是什么的
要求与指南
1.请以 JSON 格式 返回内容外层键名为 "符合性审查"最内层键值为一个字符串列表列表长度可以为一每个元素为一个具体的评审标准
1.请以 JSON 格式 返回内容外层键名为 "符合性审查"
2.根据文本内容可以选择以下两种方式组织回答
使用嵌套键值对最多嵌套一层嵌套键名应为各评审因素或评审内容键值为具体的评审标准列表列表长度可为一
不使用嵌套键值对直接将评审标准作为键值无需分类嵌套
使用嵌套键值对最多嵌套一层嵌套键名应为各评审因素或评审内容键值为具体的评审标准可以是单个字符串或字符串数组对应一个评审因素有多条评审标准的情况
不使用嵌套键值对键值为字符串数组直接将评审标准作为键值无需分类嵌套
3.键值中的字符串内容要与原文一致不得增添或遗漏也不要回答有关资格性审查的内容
特殊情况
仔细检查评审标准或内容若发现这些标准或内容实际上是在描述符合性审查中不允许出现的情况则将外键名替换为'符合性审查(以下情况不得出现)'并将这些标准写入其中
@ -533,10 +538,7 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
"评审标准或内容1",
"评审标准或内容2"
],
"评审因素2":[
"评审标准或内容3",
"评审标准或内容4"
]
"评审因素2":"评审标准或内容3",
...
}
}
@ -544,7 +546,7 @@ def combine_qualification_review(invalid_path, qualification_path, notice_path):
{
"符合性审查(以下情况不得出现)": [
"内容1",
"内容2"
"内容2",
...
]
}