AI开发平台MODELARTS-使用ModelArts Studio(MaaS)创建多轮对话
使用ModelArts Studio(MaaS)创建多轮对话
本文介绍如何使用MaaS Chat API进行多轮对话。
MaaS服务端不会记录用户请求的上下文,用户每次发起请求时,需要将之前所有对话历史拼接好后,传递给Chat API。下文以一个Python代码为例进行说明,请您根据实际情况进行修改。
以下为Python的上下文拼接和请求示例代码:
from openai import OpenAI client = OpenAI(api_key="MaaS API Key", base_url="https://xxxxxxxxxxxxxxxx") # 首轮对话 messages = [{"role": "user", "content": "9.11和9.8哪个大?"}] response = client.chat.completions.create( model="DeepSeek-R1", messages=messages ) messages.append(response.choices[0].message) print(f"Messages Round 1: {messages}") # 第二轮对话 messages.append({"role": "user", "content": "他们相加等于多少"}) response = client.chat.completions.create( model="DeepSeek-R1", messages=messages ) messages.append(response.choices[0].message) print(f"Messages Round 2: {messages}")
首轮对话时,请求体中的messages为:
[ {"role": "user", "content": "9.11和9.8哪个大?"} ]
在第二轮对话时,请求体中的messages构建步骤如下:
- 将首轮对话中模型(role的值为"assistant")的输出内容添加到messages结尾。
- 将新的用户问题添加到messages结尾。
- 最终传递给Chat API的请求体中的messages为:
[ {"role": "user", "content": "9.11和9.8哪个大?"}, {"role": "assistant", "content": "9.8更大"}, {"role": "user", "content": "他们相加等于多少"} ]