我们知道,市面上一些问答 API 的对接还是相对没那么容易的,比如说 OpenAI 的 Chat Completions API,它有一个 字段,如果要完成连续对话,需要我们把所有的上下文历史全部传递,同时还需要处理 Token 超出限制的问题。
AceDataCloud 提供的 AI 问答 API 针对上述情况进行了优化,在保证问答效果不变的情况下,对连续对话的实现进行了封装,对接时无需再关心 messages 的传递,也无需关心 Token 超出限制的问题(API 内部自动进行了处理),同时也提供了对话查询、修改等功能,使得整体的对接大大简化。
本文档会介绍下 AI 问答 API 的对接说明。
在首次申请时会有免费额度赠送,可以免费使用该 API。
首先先了解下基本的使用方式,就是输入问题,获得回答,只需要简单地传递一个 字段,并指定相应模型即可。
:想要接收怎样格式的响应结果,这里填写为 ,即 JSON 格式。
:调用 API 的密钥,申请之后可以直接下拉选择。
另外设置了 Request Body,包括:
:模型的选择,比如主流的 GPT 3.5,GPT 4 等。
:需要询问的问题,可以是任意的纯文本。
可以看到,这里返回的结果中有一个 字段,就是该问题的回答。我们可以输入任意问题,就可以得到任意的回答。
如果你不需要任何多轮对话的支持,这个 API 可以极大方便你的对接。
另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:
如果您想要对接多轮对话功能,需要传递一个额外参数 ,其值为 ,后续的每次请求都要携带该参数。传递了 参数之后,API 会额外返回一个 参数,代表当前对话的 ID,后续我们只需要将该 ID 作为参数传递,就可以轻松实现多轮对话。
下面我们来演示下具体的操作。
可以得到如下回答:
结果如下:
可以看到,就可以根据上下文回答对应的问题了。
该接口也支持流式响应,这对网页对接十分有用,可以让网页实现逐字显示效果。
如果想流式返回响应,可以更改请求头里面的 参数,修改为 。
Python 样例调用代码:
输出效果如下:
可以看到,响应里面的 即为最新的回答内容, 则是新增的回答内容,您可以根据结果来对接到您的系统中。
Javascript 也是支持的,比如 Node.js 的流式调用代码如下:
Java 样例代码:
其他语言可以另外自行改写,原理都是一样的。
我们知道,OpenAI 相关的 API 有对应的 的概念,就是给整个模型设置一个预设,比如它叫什么名字等等。本 AI 问答 API 也暴露了这个参数,叫做 ,利用它我们可以给模型增加预设,我们用一个例子来体验下:
运行结果如下:
可以看到这里我们告诉 GPT 他是一个机器人,然后问它可以为我们做什么,他就可以扮演一个机器人的角色来回答问题了。
运行结果如下:
可以看到,我们就成功得到了对应图片的回答结果。
运行结果如下:
可以看到,这里它自动联网搜索了 The Weather Channel 网站,并获得了里面的信息,然后进一步返回了实时结果。
“如果对模型回答质量有更高要求,可以将模型更换为 ,回答效果会更好。
参考资料
[1]
本文地址:http://sicmodule.glev.cn/quote/18725.html 歌乐夫 http://sicmodule.glev.cn/ , 查看更多