zbparse/flask_app/main/资格审查模块.py

42 lines
2.8 KiB
Python
Raw Normal View History

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
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有关资格评审的内容
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)
# 等待执行结果
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))