logo
3

Linux命令行机器人之---3.千帆大模型平台HelloWorld实例

Linux命令行机器人系列文章导航

如果前三步骤都很熟悉了,请跳过直接第4步。否则强烈建议查看学习!!!
Linux命令行机器人之---1.初识百度智能云千帆大模型平台: https://cloud.baidu.com/qianfandev/topic/267409
Linux命令行机器人之---2.初学者快速入门千帆大模型平台: https://cloud.baidu.com/qianfandev/topic/267410
Linux命令行机器人之---3.千帆大模型平台HelloWorld实例: https://cloud.baidu.com/qianfandev/topic/267411
Linux命令行机器人之---(4.)100行代码挑战开发一个完整的命令行机器人: https://cloud.baidu.com/qianfandev/topic/267413
Linux命令行机器人之---5. 语音识别+千帆大模型实现个人专属语音助理: https://cloud.baidu.com/qianfandev/topic/267428
在写代码之前,我们需要先在百度智能云控制台创建一个应用,然后拿到ID,Key等信息,才可以进行下一步。
我们按照这个流程来搞定。

一、创建应用

创建一个千帆应用。根据实际需求创建千帆应用,创建成功后,获取AppID、API Key、Secret Key 等信息。
1、登陆到百度智能云控制台,然后打开千帆大模型界面
2、打开应用进入界面
3、点击创建应用
例如我想做一个音视频领域的问答小助手:
我就起名为AVBox吧。

二、API授权

不知道为什么默认都选择了,这里估计以后是可选可不选的。现在默认都让使用了。
1、点击创建
2、然后就创建成功了
AppID,API Key, Secret Key都有了。
点进去详情也可以看到:(这里就直接展示出来了,等测试的代码写完,就会删除重新建。。大家自己建哦)
基本信息
应用名称:
AVBox
应用ID:
40406243
API Key:
VsysBQ2sY44B47Li712OGyna
Secret Key:
uMQX9PMyAMZdESQm0awlwbmitO868TGH
应用描述:
音视频领域小助手

三、获取访问凭证

问:那么访问凭证是什么?
答:就是access_token。token就是用户的访问令牌,用于校验调用者的身份信息,确保调用的接口是否具有该功能的操作权限。
在调用千帆大模型平台提供的API接口时,必须首先获取到access_token才可以进行下一步。
根据步骤一获取的API Key、Secret Key,获取access_token。
本部分来说的就是如果鉴权,怎么获取到token.

基本信息

请求地址https://aip.baidubce.com/oauth/2.0/token
请求方式 :POST

Header参数

名称
类型
必填
描述
Content-Type
string
固定值application/json

Query参数

名称
类型
必填
描述
grant_type
string
固定值client_credentials
client_id
string
应用的API Key,在
client_secret
string
应用的Secret Key,在

响应说明

摘自官方介绍
dsa
名称
类型
描述
access_token
string
访问凭证
expires_in
int
有效期,Access Token的有效期。
说明:单位是秒,有效期30天
error
string
错误码
说明:响应失败时返回该字段,成功时不返回
error_description
string
错误描述信息,帮助理解和解决发生的错误
说明:响应失败时返回该字段,成功时不返回
session_key
string
暂时未使用,可忽略
refresh_token
string
暂时未使用,可忽略
scope
string
暂时未使用,可忽略
session_secret
string
暂时未使用,可忽略

使用ApiFox来测试

例如APIFOx:
运行后即可拿到这个id的能力等信息:

使用Python调用:

创建一个qianfan.py的python文件,内容如下:
  
  
  
  
  
  
#!/usr/bin/python3
import requests
import json
class APIQianfan:
def __init__(self):
# 请求地址
self.url = "https://aip.baidubce.com/oauth/2.0/token"
self.APIKey = "VsysBQ2sY44B47Li712OGyna"
self.SecretKey = "uMQX9PMyAMZdESQm0awlwbmitO868TGH"
def get_token(self):
params = {
"grant_type" : "client_credentials",
"client_id" : self.APIKey,
"client_secret" : self.SecretKey,
}
try:
response = requests.post(self.url, timeout=10, params=params)
if response.status_code == 200:
# 转成JSON
jsondata = json.loads(response.text)
print(jsondata)
return jsondata["access_token"];
else:
print("请求失败")
except requests.exceptions.RequestException as e:
# 处理请求异常的逻辑
print("请求异常")
except Exception as e:
# 处理其他异常的逻辑
print("其他异常:", e)
def main():
print ("########## run main() #############")
qf = APIQianfan()
access_token = qf.get_token()
print("##########################")
print(access_token)
print("##########################")
if __name__ == "__main__":
main()
输出如下即成功:
  
  
  
  
  
  
(base) zhenghui@zh-pc:/media/zhenghui/软件/project/pyProject/qianfan$ python3 qianfan.py
########## run main() #############
{'refresh_token': '25.04f856c32a286a46125f82339be9f271.315360000.2011675551.282335-40406243', 'expires_in': 2592000, 'session_key': '9mzdWEDWUV2JzKyhQHd05KbZUwi1162H5ufjeDQRAnB78BhdCO49Zy5mrm9OKgGBWTERjB7E+XzguK9cupvKvX2C/4LJjg==', 'access_token': '24.c089d25566485203662140c5d0c39214.2592000.1698907551.282335-40406243', 'scope': 'public brain_all_scope ai_custom_yiyan_com ai_custom_yiyan_com_eb_instant wenxinworkshop_mgr ai_custom_yiyan_com_bloomz7b1 ai_custom_yiyan_com_emb_text ai_custom_yiyan_com_llama2_7b ai_custom_yiyan_com_llama2_13b ai_custom_yiyan_com_llama2_70b ai_custom_yiyan_com_chatglm2_6b_32k ai_custom_yiyan_com_aquilachat_7b ai_custom_yiyan_com_emb_bge_large_zh ai_custom_yiyan_com_emb_bge_large_en ai_custom_yiyan_com_qianfan_chinese_llama_2_7b ai_custom_qianfan_bloomz_7b_compressed wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test权限 vis-classify_flower lpq_开放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base smartapp_mapp_dev_manage iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_开放Scope vis-ocr_虚拟人物助理 idl-video_虚拟人物助理 smartapp_component smartapp_search_plugin avatar_video_test b2b_tp_openapi b2b_tp_openapi_online smartapp_gov_aladin_to_xcx', 'session_secret': 'f0c03188f85410176f77baa484f1fce6'}
##########################
24.c089d25566485203662140c5d0c39214.2592000.1698907551.282335-40406243
##########################
(base) zhenghui@zh-pc:/media/zhenghui/软件/project/pyProject/qianfan$
可以看到我获取到的token就是这个了:24.c089d25566485203662140c5d0c39214.2592000.1698907551.282335-40406243

四、调用接口

关于接口的调用就可以在上面python代码的基础上进行操作了。本篇文章就不长篇大论了。下一篇文章会继续开发一个案例,带你完成整个调用的阶段。

Linux命令行机器人系列文章导航

如果前三步骤都很熟悉了,请跳过直接第4步。否则强烈建议查看学习!!!
Linux命令行机器人之---1.初识百度智能云千帆大模型平台: https://cloud.baidu.com/qianfandev/topic/267409
Linux命令行机器人之---2.初学者快速入门千帆大模型平台: https://cloud.baidu.com/qianfandev/topic/267410
Linux命令行机器人之---3.千帆大模型平台HelloWorld实例: https://cloud.baidu.com/qianfandev/topic/267411
Linux命令行机器人之---(4.)100行代码挑战开发一个完整的命令行机器人: https://cloud.baidu.com/qianfandev/topic/267413
评论
用户头像