49 lines
2.4 KiB
Python
49 lines
2.4 KiB
Python
import json
|
||
import random
|
||
from http import HTTPStatus
|
||
from dashscope import Generation
|
||
|
||
def call_with_messages(messages):
|
||
response = Generation.call(model="qwen-max",
|
||
messages=messages,
|
||
seed=random.randint(1, 10000),
|
||
temperature=0.5,
|
||
top_p=0.5,
|
||
top_k=50,
|
||
result_format='message')
|
||
if response.status_code == HTTPStatus.OK:
|
||
content = response.output['choices'][0]['message']['content']
|
||
return content
|
||
else:
|
||
raise Exception(f'Request id: {response.request_id}, Status code: {response.status_code}, error code: {response.code}, error message: {response.message}')
|
||
|
||
def prepare_question_from_json(json_path, prompt):
|
||
with open(json_path, 'r', encoding='utf-8') as file:
|
||
json_data = json.load(file)
|
||
question = json.dumps(json_data, ensure_ascii=False) + prompt
|
||
return question
|
||
|
||
#专用于判断是否
|
||
def qianwen_ask(json_path, prompt):
|
||
messages = []
|
||
question = prepare_question_from_json(json_path, prompt)
|
||
messages.append({'role': 'system', 'content': 'You are a helpful assistant.'})
|
||
messages.append({'role': 'user', 'content': question})
|
||
return call_with_messages(messages)
|
||
|
||
#通用问题
|
||
def qianwen_ask2(questions):
|
||
messages = []
|
||
messages.append({'role': 'system', 'content': 'You are a helpful assistant.'})
|
||
messages.append({'role': 'user', 'content': questions})
|
||
return call_with_messages(messages)
|
||
|
||
if __name__ == '__main__':
|
||
json_path = 'judge_exist.json'
|
||
prompt = "请你依据以上信息回答,是否组织踏勘现场?是否召开投标预备会?是否允许偏离?是否退还投标文件?是否允许分包? 是否需要递交投标保证金?是否有履约保证金(履约担保)?是否有招标代理服务费?请按json格式给我提供信息,键名分别为'是否组织踏勘现场','是否召开投标预备会','是否允许偏离','是否退还投标文件',是否允许分包','是否需要递交投标保证金','是否有履约保证金','是否有招标代理服务费',键值仅限于'是','否','未知',若存在未知或者矛盾信息,请回答'未知'。"
|
||
try:
|
||
content = qianwen_ask(json_path, prompt)
|
||
print(content)
|
||
except Exception as e:
|
||
print(f"An error occurred: {e}")
|