zbparse/flask_app/main/通义千问.py

49 lines
2.4 KiB
Python
Raw Normal View History

2024-08-29 16:37:09 +08:00
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, user_query):
2024-08-29 16:37:09 +08:00
with open(json_path, 'r', encoding='utf-8') as file:
json_data = json.load(file)
question = json.dumps(json_data, ensure_ascii=False) + user_query
2024-08-29 16:37:09 +08:00
return question
#专用于判断是否
def qianwen_ask(json_path, user_query):
2024-08-29 16:37:09 +08:00
messages = []
question = prepare_question_from_json(json_path, user_query)
2024-08-29 16:37:09 +08:00
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}")