赞
踩
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"))
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。