diff --git a/flask_app/工程标/资格审查模块.py b/flask_app/工程标/资格审查模块.py index 54aa022..49fa05d 100644 --- a/flask_app/工程标/资格审查模块.py +++ b/flask_app/工程标/资格审查模块.py @@ -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)) diff --git a/flask_app/货物标/资格审查main.py b/flask_app/货物标/资格审查main.py index 0cf0784..0302b2a 100644 --- a/flask_app/货物标/资格审查main.py +++ b/flask_app/货物标/资格审查main.py @@ -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", ... ] }