一、实验实例
AI大模型初体验——调用文心一言的基本对话模型
1、账号注册以及密钥生成
(1)百度文心大模型api的使用方法首先需要用在百度云上注册一个千帆应用,获得应用的key和secret,注册登录网站如下所示:
(2)于是选择应用接入,点击创建应用
(3)在如下页面中输入信息后点击确认
(4)确认后,会得到API_Key和Secret_Key,其中Secret_Key非常重要,不要泄露给他人
温馨提示:
调用百度智能云需要充钱,可以使用智谱清言api,新用户会被提供免费的token源. 智谱清言api:智谱AI开放平台 (aminer.cn)
2、python代码调用块
调用文心一言——基本对话模型代码如下:
import requests
import json
# 定义两个变量保存 api_key 和 secret_key
api_key = '6l*********s85x8'
secret_key = 'ULY*******************2BBp'
# 获取token鉴权
def get_access_token():
url = "https://aip.baidubce.com/oauth/2.0/token"
param = {
"grant_type": "client_credentials",
"client_id": api_key,
"client_secret": secret_key,
}
result = requests.post(url,params = param).json()
print(result)
return result.get("access_token")
# 基本对话模型调用
# json.dumps()与json.dump()的区别
# json.dumps()是把python对象转换成json对象的一个过程,生成的是字符串。
# json.dump()是把python对象转换成json对象生成一个fp的文件流,和文件相关
def chat(text):
url = (
"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token="
+ access_token
)
payload = json.dumps({"messages": [{"role": "user", "content": text}]})
headers = {"Content-Type": "application/json"}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()["result"]
#获取toke权限
access_token = get_access_token()
print(access_token)
prompt = "你吃了吗"
result = chat(prompt)
print(f'基本对话模型回复:{result}')
3、实验结果
充值后(充值操作见参考链接),跑通结果如下:
二、问题总结:
1、问题现象:控制台报错KeyError: 'result'
问题分析:
按照红字提示,这个错误 KeyError: 'result' 表示在你的 Python 程序中,尝试访问一个字典中不存在的键 'result'。这通常发生在你使用 .json() 方法从 HTTP 响应中解析数据,并尝试访问返回的 JSON 对象中不存在的键时。从而报错。建议先print打印JSON对象,确认里面的键值,从而避免错误。
2、问题现象:控制台报错{'error_code': 17, 'error_msg': 'Open api daily request limit reached'}
问题分析:这个错误响应
{'error_code': 17, 'error_msg': 'Open api daily request limit reached'} 时,意味着你已经达到了该开放API的每日请求限制。解决方法一是给百度账号充钱,方法二是调用免费的大模型API接口(如智谱清言api)