今年年初chatgpt大火,国产gpt文心一言也提供了内测服务,大家可以去访问官网申请体验。文心一言APP上的功能更加强大,可以看这个测评文章。作为程序猿的我们,想接入文心一言的能力,比如开发一个聊天机器人,要怎么做呢?百度在其开发者平台开放了大模型服务,下面就跟我一起来对接API吧。

        下面我先放出几张图,是我对接完的效果图,一个智能回复机器人。

        接下来几章,我会逐步教大家如何对接。全系列链接如下:

手把手教你搭建微信聊天机器人系列(一):文心一言(百度千帆ERNIE-Bot大模型)API测试

手把手教你搭建微信聊天机器人系列(二):eggjs+wechaty搭建一个简单的微信聊天机器人

手把手教你搭建微信聊天机器人系列(三):搭建对接文心一言(ERNIE-Bot大模型)接口的微信聊天机器人

手把手教你搭建微信聊天机器人系列(四):多轮对话支持

创建应用

        首先,我们访问百度智能云,注册一个开发者账号。

 然后访问控制台,点击侧边栏的大模型服务-应用接入-创建应用。

填写一下基本信息,然后点击创建。

在刚才的页面会出现一条刚刚创建的应用,这里的API Key和Secret Key后面调用接口会用到。

现在开始研究API文档,入口在此

我们选择ERNIE-Bot模型,然后点击后面的创建chat跳转到对应文档。注:我一开始对接了ERNIE-Bot-turbo模型,结果发现有些问题回答错误,体验比较差。后面改回ERNIE-Bot,回答基本都正确。

从接口文档上看,对话接口需要传入access token,我们继续研究一下access token获取的方法。

access token获取

我们使用postman来测试接口,GET请求方式,Params下面添加三个参数,grant_type 参数值为client_credentials,client_id参数值为API Key对应的值,client_secret参数值为Secret Key对应的值。

请求后发现返回结果有个access_token,这个就是后续调用对话接口要用的。

对话接口请求

我们再配置一个POST请求,Params下面添加一个参数access_token,值为上面返回的。

然后还要再配置一下Body选项卡

选择raw,格式JSON,请求体为

{

"messages": [

{

"role": "user",

"content": "介绍一下你自己"

}

]

}

请求后,发现成功返回了对话信息。

        刚才只是实现了一次对话的效果,从文档上看,接口是支持上下文语境的,要实现这种效果,需要我们把几次历史对话的内容全部传过去。

多轮对话

我们继续配置两个POST请求,来看看他是否能支持多轮对话。第一个请求,请求体为:

{

"messages": [

{

"role": "user",

"content": "1加1等于几"

}

]

}

第二个请求,我们把上次接口返回的内容result参数值【1加1等于2。】加入请求。注意:role的值为【assistant】。请求体为:

{

"messages": [

{

"role": "user",

"content": "1加1等于几"

},

{

"role": "assistant",

"content": "计算结果为:$1+1 = 2$"

},

{

"role": "user",

"content": "再加1等于几"

}

]

}

至此,两轮对话结束。从测试结果来看,接口是具备一定的智能。我们后续可以开发聊天的界面或者对接微信机器人提供给用户,以实现网页版文心一言的对话功能。微信机器人的对接我已经实现过了,具体流程我后面会再发文章。

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: