2024-10-21 17:31:48 +08:00
|
|
|
|
import json
|
|
|
|
|
import time
|
2024-08-29 16:37:09 +08:00
|
|
|
|
|
2024-10-22 10:06:22 +08:00
|
|
|
|
from flask_app.general.json_utils import extract_content_from_json
|
2024-08-29 17:30:49 +08:00
|
|
|
|
from flask_app.main.形式响应评审 import process_reviews
|
2024-10-21 17:31:48 +08:00
|
|
|
|
from flask_app.main.资格评审 import process_qualification
|
2024-10-22 10:06:22 +08:00
|
|
|
|
from flask_app.general.通义千问long import upload_file, qianwen_long
|
2024-09-05 18:00:40 +08:00
|
|
|
|
from concurrent.futures import ThreadPoolExecutor
|
2024-08-29 16:37:09 +08:00
|
|
|
|
|
|
|
|
|
|
2024-10-21 17:31:48 +08:00
|
|
|
|
def combine_review_standards(truncate1,truncate3,output_folder,truncate0_jsonpath,clause_path,invalid_path,merged_baseinfo_path): #评标办法前附表
|
2024-08-29 16:37:09 +08:00
|
|
|
|
# 形式评审、响应评审:千问
|
|
|
|
|
file_id=upload_file(truncate1) #评标办法前附表
|
|
|
|
|
user_query_1 = "根据该文档中的评标办法前附表,请你列出该文件中的形式评审标准和响应性评审标准和资格评审标准,请以json格式返回,外层键名为'形式评审标准'和'响应性评审标准'和'资格评审标准',嵌套键名为'评审因素'中的内容,相应的键值为对应'评审标准'中的内容。"
|
|
|
|
|
results = qianwen_long(file_id, user_query_1)
|
|
|
|
|
original_dict_data = extract_content_from_json(results)
|
2024-10-21 17:31:48 +08:00
|
|
|
|
qualification_review = original_dict_data.pop('资格评审标准', {}) #qianwen-long有关资格评审的内容
|
2024-09-05 18:00:40 +08:00
|
|
|
|
with ThreadPoolExecutor() as executor:
|
|
|
|
|
# 创建Future对象
|
2024-10-21 17:31:48 +08:00
|
|
|
|
future_qualification = executor.submit(process_qualification, qualification_review, truncate3,invalid_path,merged_baseinfo_path)
|
|
|
|
|
future_form_response = executor.submit(process_reviews, original_dict_data,output_folder, truncate0_jsonpath,
|
|
|
|
|
clause_path)
|
2024-09-05 18:00:40 +08:00
|
|
|
|
# 等待执行结果
|
|
|
|
|
final_qualify_json = future_qualification.result()
|
|
|
|
|
form_response_dict = future_form_response.result()
|
2024-08-29 16:37:09 +08:00
|
|
|
|
form_response_dict.update(final_qualify_json)
|
2024-09-26 13:43:47 +08:00
|
|
|
|
return {"资格审查":form_response_dict}
|
2024-08-29 16:37:09 +08:00
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2024-10-21 17:31:48 +08:00
|
|
|
|
start_time=time.time()
|
|
|
|
|
truncate1 = "C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\zbtest2_evaluation_method.pdf"
|
|
|
|
|
truncate3="C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\zbtest2_qualification.pdf"
|
2024-09-25 18:03:09 +08:00
|
|
|
|
output_folder = "D:\\flask_project\\flask_app\\static\\output\\c02a12c2-6f7b-49dc-b97f-c3d740c96c21"
|
2024-10-21 17:31:48 +08:00
|
|
|
|
# knowledge_name="zbtest20"
|
|
|
|
|
clause_path = "C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\clause1.json"
|
|
|
|
|
truncate0_jsonpath = "C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\truncate_output.json"
|
|
|
|
|
invalid_path="C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\zbtest2_invalid.pdf"
|
|
|
|
|
merged_baseinfo_path="C:\\Users\\Administrator\\Desktop\\招标文件\\new_test\\zbtest2_merged_baseinfo.pdf"
|
|
|
|
|
res=combine_review_standards(truncate1,truncate3, output_folder,truncate0_jsonpath,clause_path,invalid_path,merged_baseinfo_path)
|
|
|
|
|
print(json.dumps(res,ensure_ascii=False,indent=4))
|
|
|
|
|
end_time=time.time()
|
|
|
|
|
print("elapsed time:"+str(end_time-start_time))
|