1、首先定义一个空列表用来存放历史信息
message = []
2、将用户消息加入列表末尾
message.append({
"role": "user",
"content": str
})
3、将返回的消息加入列表末尾
response = requests.request("POST", url, headers=headers, data=payload).json()
message.append({
"role": "assistant",
"content": response['result']
})
完整代码:
import requests
import json
API_KEY = "xxx" # 填上你自己的API_KEY
SECRET_KEY = "xxx" # 填上你自己的SECRET_KEY
message = []
def chat(str):
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
message.append({
"role": "user",
"content": str
})
payload = json.dumps({
"messages": message,
"disable_search": False,
"enable_citation": False
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload).json()
message.append({
"role": "assistant",
"content": response['result']
})
return response['result']
def get_access_token():
"""
使用 AK,SK 生成鉴权签名(Access Token)
:return: access_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access_token"))
效果