五星上将麦克阿瑟曾经说过,一个好的测试是会调接口的
让我们来讲一个故事
今天和女朋友吵架了,(假设你有女朋友)。
今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐
因为--------
你女朋友想用文心一言画图,想搭建一个自己的AI机器人
你打开了你的电脑——你的第一夫人
现在,进入我们今天的正题——一分钟学会文心一言的api接口调用接入
一、账号创建
创建主账号在
您使用百度智能云千帆大模型平台前,需要您提前注册一个百度智能云的官网主账号。
百度智能云-注册 (baidu.com)
完成验证
API 列表
百度智能云千帆平台提供了丰富的API,包括对话Chat、续写Completions、向量Embeddings插件应用、Prompt工程、模型服务、管理、调优及数据管理等API能力,详情请查看API列表。
- 模型相关
- 对话Chat:支持创建chat,用于发起一次对话。
- 续写Completions:支持创建completion,用于发起一次续写请求,不支持多轮会话等。
- 向量Embeddings:支持Embeddings,用于根据输入内容生成对应的向量表示。
- 自定义模型:平台支持HuggingFace Transformer架构的自定义大模型导入,将自定义模型发布为服务,并支持通过相关API调用该服务。
- 图像Images:提供图像相关API能力。
- 模型服务:提供创建服务、获取服务详情等API能力。
- 模型管理:提供获取模型、模型版本详情及将训练任务发布为模型等API能力。
- 模型调优:提供创建训练任务、任务运行、停止任务运行及获取任务运行详情等API能力。
- 数据管理:提供创建数据集、导入导出数据集等API能力。
- Prompt工程:提供模版相关API能力。
- 插件应用:提供域内知识搜索增强插件API相关能力。
二、API 调用流程简介
1、创建千帆应用
登录百度智能云千帆控制台创建应用,创建成功后,在应用列表页获取AppID、API Key、Secret Key 等信息。如果已有千帆应用,可以在应用列表页查看已有应用的API Key、Secret Key 等信息。
2、API授权
创建应用后,获取AppID、API Key、Secret Key。
3、获取访问凭证
根据步骤一获取的API Key、Secret Key,获取access_token。参考以下获取access_token,更多详情方法请参考获取access_token。
注意:access_token默认有效期30天,生产环境注意及时刷新。
# 填充API Key与Secret Key
curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】'
4、调用接口
调用接口就是写代码的事情了,下面以python举两个例子
单轮对话
import requests
import json
# 步骤一:获取access_token
data = {
'grant_type': 'client_credentials',
'client_id': '[API Key]', # 使用你从百度云获取到的API Key
'client_secret': '[Secret Key]' # 使用你从百度云获取到的Secret Key
}
response = requests.post('https://aip.baidubce.com/oauth/2.0/token', data=data)
access_token = response.json()['access_token']
# 步骤二:调用API
headers = {'Content-Type': 'application/json'}
data = {
"messages": [
{"role":"user","content":"介绍一下你自己"}
]
}
response = requests.post(f'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token={access_token}',
headers=headers, data=json.dumps(data))
print(response.json())
多轮对话
import requests
import json
def get_access_token(client_id, client_secret):
url = f'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={client_id}&client_secret={client_secret}'
response = requests.get(url)
if response.status_code == 200:
return response.json()['access_token']
else:
return None
def call_api(access_token):
url = f'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token={access_token}'
headers = {'Content-Type': 'application/json'}
data = {
"messages": [
{"role":"user","content":"请介绍一下你自己"},
{"role":"assistant","content":"我是百度公司开发的人工智能语言模型,我的中文名是文心一言,可以协助您完成范围广泛的任务并提供有关各种主题的信息,比如回答问题,提供定义和解释及建议。如果您有任何问题,请随时向我提问。"},
{"role":"user","content": "我在上海,周末可以去哪里玩?"},
{"role":"assistant","content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方..."},
{"role":"user","content": "周末这里的天气怎么样?"}
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.json()
def main():
client_id = '[API Key]'
client_secret = '[Secret Key]'
access_token = get_access_token(client_id, client_secret)
if access_token:
result = call_api(access_token)
print(result)
else:
print('Failed to get access token')
if __name__ == '__main__':
main()
然后就开始你的大模型训练之旅吧!
如果你还有什么疑问,请从下方留言吧~