{"model":"qwen-max","input":{"messages":[{"role": "system","content":"You are a helpful assistant."},{"role":"user","content":"入参"}]},"parameters":{}}
这样能正确返回。
{"model":"qwen-max","input":{"messages":[{"role": "system","content":"You are a helpful assistant."},{"role":"user","content":"入参"},{"role": "system","content":"首次返回的文本"},{"role":"user","content":"继续"}]},"parameters":{}}
这样写提示错误信息,message的大概意思是body格式错误。
{"model":"qwen-max","input":{"messages":[{"role":"user","content":"继续"}]},"parameters":{}}
这样写,会回复 有什么问题需要帮忙什么的...。
通义千问的 HTTP 请求多轮对话是通过 JSON 格式的数据传输来实现的。根据你提供的例子,可以按照以下方式构建 JSON 数据:
{
"model": "qwen-max",
"input": {
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "入参"
}
]
},
"parameters": {}
}
需要注意的是,在上述示例中,“model”字段指定了所使用的模型名称,“input”字段包含了多轮对话的消息列表,每个消息都有一个“role”字段表示角色(系统或用户),以及一个“content”字段表示消息内容。最后,“parameters”字段可以包含其他参数,根据你的需求进行设置。
请确保将以上 JSON 数据作为 HTTP 请求的主体发送给通义千问的 API 接口,并设置适当的请求头和 URL。具体的请求方式和 URL 取决于你所使用的编程语言和库,可以参考相关文档或示例代码来执行 HTTP 请求。
根据您提供的信息,您正在使用一个名为"qwen-max"的模型进行文本生成。根据您的描述,当您尝试将多个消息作为输入时,出现了错误提示,指出body格式错误。
要解决这个问题,您可以尝试以下方法:
通义千问的HTTP请求多轮对话的方式是使用JSON格式的数据进行传输。根据您提供的示例,您可以按照以下方式构建JSON数据:
{
"model": "qwen-max",
"input": {
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "入参"
}
]
},
"parameters": {}
}
请注意,上述示例中的"model"
字段指定了使用的模型名称,"input"
字段包含了多轮对话的消息列表,其中每个消息都有一个"role"
字段表示角色(系统或用户),以及一个"content"
字段表示消息内容。最后,"parameters"
字段可以包含其他参数,根据您的需求进行设置。
确保将上述JSON数据作为HTTP请求的正文发送给通义千问的API接口,并设置适当的请求头和URL。具体的请求方式和URL取决于您使用的编程语言和库,可以参考相关文档或示例代码来执行HTTP请求。
通义千问(Alibaba Cloud's Multi-turn Dialogue Service)的HTTP请求多轮对话方式通常涉及发送一系列的请求和接收响应。然而,具体的格式和细节可能会根据通义千问的API文档和版本有所不同。由于API和文档可能会更新,建议直接参考官方提供的最新文档。
如果你发现文档中的说明无法实现,以下是一些建议的步骤来帮助你解决问题:
application/json
)或特定的请求头。
通义千问大语言模型以用户文本形式的指令(prompt)以及不定轮次的对话消息作为输入,并基于这些信息生成回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观地理解为“字”或“词”。对于中文,一个token对应1.8到2个汉字,例如“通义千问大语言模型”,转换为token后为: ["通", "义", "千", "问", "大", "语言", "模型"], 对于英文,通常一个token对应3到4个字母或者一个单词,例如:Artificial intelligence has made great progress at present. 转换为token后为: ["Art", "ificial", " intelligence", " has", " made", " great", " progress", " at", " present", "."]。
from http import HTTPStatus
from dashscope import Generation
from dashscope.api_entities.dashscope_response import Role
def conversation_with_messages():
messages = [{'role': Role.SYSTEM, 'content': 'You are a helpful assistant.'},
{'role': Role.USER, 'content': '如何做西红柿炖牛腩?'}]
response = Generation.call(
Generation.Models.qwen_turbo,
messages=messages,
result_format='message', # set the result to be "message" format.
)
if response.status_code == HTTPStatus.OK:
print(response)
# append result to messages.
messages.append({'role': response.output.choices[0]['message']['role'],
'content': response.output.choices[0]['message']['content']})
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
messages.append({'role': Role.USER, 'content': '不放糖可以吗?'})
# make second round call
response = Generation.call(
Generation.Models.qwen_turbo,
messages=messages,
result_format='message', # set the result to be "message" format.
)
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
conversation_with_messages()
参考;https://help.aliyun.com/zh/dashscope/developer-reference/api-details?spm=a2c4g.11186623.0.i18
楼主你好,看了你的问题,这似乎是和阿里云通用智能对话平台相关的问题,对于多轮对话的方式,可以按照以下格式进行编写:
{
"model": "qwen-max",
"input": {
"messages": [
{"role": "user", "content": "用户输入1"},
{"role": "assistant", "content": "助手回复1"},
{"role": "user", "content": "用户输入2"},
{"role": "assistant", "content": "助手回复2"}
]
},
"parameters": {}
}
每一轮对话都由两个消息构成,一个是用户角色的消息,一个是助手角色的消息,这里的角色需要使用 "user" 和 "assistant",而不是 "system",确保消息内容是有效的字符串。请确保你的请求是正确的JSON格式,并且按照上述示例进行编写。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。