五星上将麦克阿瑟曾经说过,一个好的测试是会调接口的

一分钟学会文心一言的api接口调用接入_json


让我们来讲一个故事

今天和女朋友吵架了,(假设你有女朋友)。

今晚又是一个人睡沙发,这天晚上,你躺在沙发上,夜不能寐

因为--------

你女朋友想用文心一言画图,想搭建一个自己的AI机器人

你打开了你的电脑——你的第一夫人

现在,进入我们今天的正题——一分钟学会文心一言的api接口调用接入

一分钟学会文心一言的api接口调用接入_json_02


一、账号创建

创建主账号在

您使用百度智能云千帆大模型平台前,需要您提前注册一个百度智能云的官网主账号。

百度智能云-注册 (baidu.com)

一分钟学会文心一言的api接口调用接入_百度_03

完成验证

一分钟学会文心一言的api接口调用接入_API_04


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 调用流程简介

一分钟学会文心一言的api接口调用接入_json_05

1、创建千帆应用

登录百度智能云千帆控制台创建应用,创建成功后,在应用列表页获取AppID、API Key、Secret Key 等信息。如果已有千帆应用,可以在应用列表页查看已有应用的API Key、Secret Key 等信息。

2、API授权

创建应用后,获取AppID、API Key、Secret Key。

一分钟学会文心一言的api接口调用接入_百度_06



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举两个例子

一分钟学会文心一言的api接口调用接入_API_07

单轮对话

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()

然后就开始你的大模型训练之旅吧!

如果你还有什么疑问,请从下方留言吧~