ChatCompletion 快速接入
本示例基于python3,帮助您快速接入MiniMax开放平台体验中心的对话能力,您需要完成以下步骤:
1.获取鉴权信息
在【基础信息】获取group_id
在【接口秘钥】获取 api key
需要注意的是,由于API密钥在生成后我们不会再显示他们,所以当你需要复制API密钥的时候,可以重新创建一个以完成复制操作。
2.复制完整代码并执行
以下是一份可以在python3的终端环境中直接执行的完整代码,请将以下group_id和api_key替换为第一步获取的鉴权信息即可执行。
注意:添加import readline引用是为了解决在中文输入下,python的input接口在删除字符的时候错误处理的问题。
import requests
import readline
group_id = "请填写您的group_id"
api_key = "请填写您的api_key"
url = f'https://api.minimax.chat/v1/text/chatcompletion?GroupId={group_id}'
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
#prefix, user_name, bot_name = choose_prefix()
#tokens_to_generate可自行修改
request_body = {
"model":"abab5-chat",
"tokens_to_generate": 512,
'messages': []
}
#添加循环完成多轮交互
while True:
#下面的输入获取是基于python终端环境,请根据您的场景替换成对应的用户输入获取代码
line = input("发言:")
# 将当次输入内容作为用户的一轮对话添加到messages
request_body['messages'].append({"sender_type": "USER","text": line})
response = requests.post(url, headers=headers, json=request_body)
reply = response.json()['reply']
print(f"reply: {reply}")
# 将当次的ai回复内容加入messages
request_body['messages'].append({"sender_type": "BOT","text": reply})
如果您想进一步了解上述完整代码是如何逐步构建,您可以继续阅读以下详细步骤解释:
3.构建请求头
复制下面代码并根据鉴权信息构建请求头(group_id和api_key为需要您替换的鉴权信息)
url = 'https://api.minimax.chat/v1/text/chatcompletion?GroupId={group_id}'
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
4.构建请求内容
本示例是基于python在终端交互的对话,input关键字内的提示词根据您的场景替换成对应的用户输入获取代码或参数。 其余参数,不建议您修改。
request_body = {
"model":"abab5-chat",
"tokens_to_generate": 256,
'messages': []
}
line = input("发言:")
将当次输入内容作为用户的一轮对话添加到messages
request_body['messages'].append({"sender_type": "USER","text": line})
5.完成交互
通过requests库提供的post能力对api进行调用,复制下面的代码即可完成多轮交互。
注意:每一轮回复都需要追加到messages中,这样才能在多轮的对话中记住对话历史。
response = requests.post(url, headers=headers, json=request_body)
将当次的ai回复内容加入messages
request_body['messages'].append({"sender_type": "BOT","text": reply})
交互示例
在以下的交互例子中,我们会通过展示终端的输出,来展示交互的过程。其中我们会使用😀来标识输入的内容,🤖来标识api输出的内容
最后修改时间: 1 年前