1.20 采购需求优化提示词

This commit is contained in:
zy123 2025-01-20 17:14:15 +08:00
parent fb88d1e46c
commit 14826b2867
3 changed files with 41 additions and 23 deletions

View File

@ -315,11 +315,12 @@ if __name__ == "__main__":
logger = get_global_logger("123")
# input_path = r"C:\Users\Administrator\Desktop\new招标文件\货物标"
# pdf_path = r"C:\Users\Administrator\Desktop\招标文件-采购类\2024-贵州-贵州医科大学附属医院导视系统零星制作安装项目.pdf"
pdf_path=r"C:\Users\Administrator\Desktop\货物标\zbfiles\唐山市公安交通警察支队机动车查验机构视频存储回放系统竞争性谈判-招标文件正文(1).pdf"
pdf_path=r"C:\Users\Administrator\Desktop\新建文件夹 (3)\需求\“天府粮仓”青白江区“一园三片”数字化提升和标准化体系建设项目(三次)招标文件N510113202400010820250102001.pdf"
# input_path = r"C:\Users\Administrator\Desktop\货物标\zbfiles\2-招标文件(广水市教育局封闭管理).pdf"
# pdf_path=r"C:\Users\Administrator\Desktop\文件解析问题\文件解析问题\1414cb9c-7bf4-401c-8761-2acde151b9c2\ztbfile.pdf"
output_folder = r"C:\Users\Administrator\Desktop\货物标\zbfiles\output4444"
output_folder = r"C:\Users\Administrator\Desktop\新建文件夹 (3)\需求"
# output_folder = r"C:\Users\Administrator\Desktop\new招标文件\output2"
selection = 4 # 例如1 - 公告, 2 - 评标办法, 3 - 资格审查后缀有qualification1或qualification2与评标办法一致 4.投标人须知前附表part1 投标人须知正文part2 5-采购需求 6-invalid_path
selection = 5 # 例如1 - 公告, 2 - 评标办法, 3 - 资格审查后缀有qualification1或qualification2与评标办法一致 4.投标人须知前附表part1 投标人须知正文part2 5-采购需求 6-invalid_path
generated_files = truncate_pdf_main_goods(pdf_path, output_folder, selection,logger)
print(generated_files)

View File

@ -292,37 +292,54 @@ def generate_prompt(judge_res, full_text=None):
如果 `judge_res` 不包含 '' 且有 `full_text`则添加文件内容部分
"""
base_prompt = '''
任务你负责解析采购文件提取采购需求并以JSON格式返回不要遗漏该项目需要采购的货物设备或系统
任务你负责解析采购文件提取采购需求并以JSON格式返回不要遗漏该项目需要采购的货物设备或系统或服务
**输出格式**
1.JSON格式外层键名为需要采购的货物设备或系统名称(一级键)
1.JSON格式外层键名为需要采购的货物设备或系统或服务名称(一级键)
2.层次关系用嵌套键值对表示:
-采购活动可能将目标划分为多个系统或货物若文档通过大标题或表格结构或序号标明这种归属关系请在JSON中以嵌套形式表示
-系统作为一级键包含的货物作为二级键
-例子:"""
1. 激光扫描系统xxx
1.1 激光器xxx
-层级规则系统作为一级键包含的子系统或货物作为二级键
-系统功能说明:如果系统提到"系统功能"(即系统的整体功能说明)那么在该系统下中添加"系统功能"作为二级键具体内容不展开;系统可以只有系统功能而不包含具体货物
-示例输入:"""
扫描系统
系统功能支持多种扫描模式
1. 激光扫描系统xxx
1.1 激光器xxx
2. 红外扫描系统xxx
通信系统
系统功能提供高效数据传输
"""
根据货物前的序号,可以判断'激光扫描系统'是一级键,'激光器'是其下的二级键
-如果系统提到"系统功能"在该系统的值中添加"系统功能"作为二级键具体内容不展开;
-系统可以只包含系统功能无需列出具体货物
-示例输出:
{
"扫描系统": {
"系统功能": [],
"激光扫描系统": {
"激光器": []
},
"红外扫描系统": []
},
"通信系统": {
"系统功能": []
}
}
3.防止重复键名规则:
-若同一层级下存在名称相同但采购要求如型号参数功能不同的货物请在名称后添加编号以作区分防止出现重复键名默认情况下无需在名称后添加编号只有在名称相同时才需要添加编号编号规则'名称-编号'编号从1递增例子若同层级下存在两种名称相同但不同型号或参数的'交换机'那么键名分别是'交换机-1''交换机-2'如果名称不同如路由器和交换机则无需编号
-若同一层级下存在名称相同但采购要求如型号参数功能说明不同的采购标的请在名称后添加编号以作区分防止出现重复键名默认情况下无需在名称后添加编号只有在名称相同时才需要添加编号编号规则'名称-编号'编号从1递增例子若同层级下存在两种名称相同但不同型号或参数的'交换机'那么键名分别是'交换机-1''交换机-2'如果名称不同如路由器和交换机则无需编号
4.最内层键值应为空列表[]
**特殊情况**
-如果文件中未明确说明需要采购的货物设备或系统请直接返回空字典 {{}}不要生成任何无关内容
-如果文件中未明确说明需要采购的货物设备或系统或服务请直接返回空字典 {{}}不要生成任何无关内容
**要求与指南**
1. 精准定位请运用文档理解能力定位文件中的采购需求部分
-若有采购清单请直接根据采购清单上的货物或系统名称给出结果若没有采购清单则从表格或文本中摘取采购信息
-注意采购目标通常在诸如'名称'且每个目标占据一个单元格你无需提取诸如'说明''规格''参数''描述'等其他列的内容即你不需要给出详细的采购要求更不要将这些单元格内的描述拆分作为其的子键你仅返回采购的货物或系统或模块名称
2. 采购采购种类通常有硬件如设备货物和软件如系统软件应用APP一次采购活动可以同时包含这种类型
-若有采购清单请直接根据采购清单上的货物或系统或服务名称给出结果若没有采购清单则从表格或文本中摘取采购信息
-注意采购目标通常在诸如'名称'且每个目标占据一个单元格你无需提取诸如'说明''规格''参数''描述'等其他列的内容即你不需要给出详细的采购要求更不要将这些单元格内的描述拆分作为其的子键你仅返回采购的货物或系统或模块或服务名称
2. 采购采购种类通常有硬件如设备货物和软件如系统软件应用APP和服务(如人力)一次采购活动可以同时包含这种类型
3. 软件类采购对于软件系统或应用采购若有多个系统且序号分明请不要遗漏若明确列出系统模块提取模块名称并作为系统的子键无需在模块下再细分功能
4. 完整性
-若采购的货物或系统或模块名称前存在三角,五角,或其他特殊符号注意是名称前而非具体的技术参数或采购要求前在返回名称时请保留前面的,,符号'★高清摄像机'
-确保系统内的所有货物设备均被按层次提取对于有明确清单且按序号划分的采购需求,请勿遗漏每一个序号所代表的货物或设备或系统也不要添加未提及的内容
-若某货物或系统模块主要设备功能指标或类似标题下有详细参数说明但未在前面清单或表格中诸如'名称'的列中列出也需将该货物名添加到结果中
-若采购的货物或系统或模块或服务名称前存在三角,五角,或其他特殊符号注意是名称前而非具体的技术参数或采购要求前在返回名称时请保留前面的,,符号'★高清摄像机'
-确保采购文件内的所有采购标的均被按层次提取对于有明确清单且按序号划分的采购需求,请勿遗漏每一个序号所代表的采购标的也不要添加未提及的内容
-若某货物或系统模块服务主要设备功能指标或类似标题下有详细参数或要求说明但未在前面清单或表格中诸如'名称'的列中列出也需将该货物名添加到结果中
5. 特别说明:采购标的可以是某项服务但是请与'服务要求'进行区别'服务要求'不等同于'服务采购'
示例输出1普通系统货物类采购仅供格式参考
{{
@ -669,11 +686,11 @@ if __name__ == "__main__":
start_time=time.time()
# invalid_path="D:\\flask_project\\flask_app\\static\\output\\output1\\e7dda5cb-10ba-47a8-b989-d2993d34bb89\\ztbfile.pdf"
# file_id = upload_file(truncate_file)
truncate_file=r'C:\Users\Administrator\Desktop\new招标文件\output5\广水市公安局音视频监控系统设备采购项目_procurement.pdf'
truncate_file=r'C:\Users\Administrator\Desktop\新建文件夹 (3)\需求\“天府粮仓”青白江区“一园三片”数字化提升和标准化体系建设项目(三次)招标文件N510113202400010820250102001_procurement.pdf'
invalid_path=r"D:\flask_project\flask_app\static\output\output1\f91db70d-8d96-44a5-b840-27d2f1ecbe95\invalid_del.docx"
# file_id=upload_file(truncate_file)
# processed_filepath = convert_file_to_markdown(truncate_file)
processed_filepath=r"D:\flask_project\flask_app\static\output\output1\f91db70d-8d96-44a5-b840-27d2f1ecbe95\extract1.txt"
processed_filepath=r"C:\Users\Administrator\Desktop\新建文件夹 (3)\需求\extract1.txt"
res=get_technical_requirements(invalid_path,processed_filepath,1)
json_string = json.dumps(res, ensure_ascii=False, indent=4)
print(json_string)

View File

@ -77,7 +77,7 @@ if __name__ == "__main__":
start_time = time.time()
output_folder = "C:\\Users\\Administrator\\Desktop\\货物标\\货物标output"
# file_path="C:\\Users\\Administrator\\Desktop\\货物标\\output1\\2-招标文件2020年广水市中小学教师办公电脑系统及多媒体“班班通”设备采购安装项目_procurement.pdf"
procurement_path = r"C:\Users\Administrator\Desktop\fsdownload\ae1eae3b-b77e-40d9-a78e-89f86a346b00\ztbfile_procurement.pdf"
procurement_path = r"C:\Users\Administrator\Desktop\新建文件夹 (3)\需求\“天府粮仓”青白江区“一园三片”数字化提升和标准化体系建设项目(三次)招标文件N510113202400010820250102001.pdf"
procurement_docpath = r"C:\Users\Administrator\Desktop\fsdownload\fa0d51a1-0d63-4c0d-9002-cf8ac3f2211a"
invalid_path = r"C:\Users\Administrator\Desktop\文件解析问题\文件解析问题\be901ea0-adc9-47b8-9ada-5c3bc0dd9434\ztbfile.pdf"
res = fetch_procurement_reqs(procurement_path, invalid_path)