如何申请文心一言接口
如何申请文心一言接口
最近百度不仅开放了文心一言的服务,同时也开放了文心一言的接口,也就是百度的千帆大模型服务。
开发者只需要调用接口就可以将文心一言的功能集成到自己的应用中了。
用户注册
首先打开百度云智能官网,选择文心千帆大模型平台。
点击立即使用,进入控制台。
如果没有登录的话,此时会弹出登录框,使用百度账号登录即可。
首次注册的用户,需要进行实名认证,点击实名认证,填写真实姓名和身份证号码,点击提交即可。
首次注册的用户也会赠送一定额度的代金券,无需激活,直接使用,可以作为免费试用。
创建应用
进入控制台之后,我们在侧边栏找到【大模型服务】下的【应用接入】,然后选择【创建应用】
进入应用创建页面,填写对应的应用名称和简介,这部分仅作为个人应用开发的标识,根据实际需求填写即可。
可以看到服务配置中,已经默认开启了所有公共的服务,无须选择,直接点击【创建】即可。
创建完成之后,在应用列表中,可以看到我们刚刚创建的应用,其中包含了APP ID和 Secret Key,这两个参数是我们调用接口时需要使用的参数,复制出来,妥善保存。
接口调用
完成应用注册之后,我们就可以使用文心一言的接口了。
可以查看API文档
选择需要使用的模型,其中 ERNIE-Bot 和 ERNIE-Bot-Turbo 是文心一言的模型,区别在于 ERNIE-Bot 提供了更多可以调整的参数,ERNIE-Bot-Turbo 提供了更快的响应速度。
可以直接使用API接口进行调用,也可以使用SDK进行调用。
官方没有提供SDK,但是已经有不少第三方的SDK,可以直接使用。
作为示例,这里使用 ERNIE-Bot.SDK。
首先安装 nuget package
dotnet add package ERNIE-Bot.SDK --prerelease
然后初始化一个 Client
using ERNIE_Bot.SDK;
var client = new ERNIEBotClient(clientId,clientSecret);
调用接口分为两种类型,一个是同步模式的,一个是流式模式。
同步模式
同步模式的接口,需要将所有的文本传入,然后一次性返回结果。
使用ChatAsync方法就可以调用同步接口了。
方法接收两个参数,一个是消息记录Messages,一个是模型的地址。
消息中的角色分为两种,一个是用户(MessageRole.User),另一个是助理(MessageRole.Assistant)。
单轮对话的时候,只需要有一个用户的消息即可,多轮对话的时候,需要有多组消息,用户和助理依次出现,最后一条消息的角色必须是用户。
模型的地址可以在 ModeEndpoints中选择。
var result = await client.ChatAsync(new ChatRequest()
{
Messages = new List<ERNIE_Bot.SDK.Models.Message>()
{
new Message()
{
Role = MessageRole.User,
Content = "Hello"
}
}
}, ModelEndpoints.ERNIE_Bot_Turbo);
如果使用ERNIE-Bot 模型的话,可以使用ChatCompletionsRequest, 提供更多的参数,例如 temperature、top_p和penalty_score。
流式模式
流式模式的接口,将返回多条结果,将结果拼接起来就是完整的回复内容了。
var results = client.ChatStreamAsync(new ChatRequest()
{
Messages = new List<ERNIE_Bot.SDK.Models.Message>()
{
new Message()
{
Role = MessageRole.User,
Content = "你好!"
}
}
}, ModelEndpoints.ERNIE_Bot_Turbo);
其他的模型
除了ERNIE-Bot
和ERNIE-Bot-Turbo
之外,还有其他的模型,例如BLOOMZ-7B
,Llama_2_7b_chat
,Llama_2_13b_chat
,Llama_2_70b_chat
,Qianfan_BLOOMZ_7B_compressed
,Qianfan_Chinese_Llama_2_7b
,ChatGLM2_6b_32k
,AquilaChat_7b
等,都是公共服务模型,可以直接使用。
可以自行评估,根据实际需求选择合适的模型。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。