messages 字段,如果要完成连续对话,需要我们把所有的上下文历史全部传递,同时还需要处理 Token 超出限制的问题。
AceDataCloud 提供的 AI 问答 API 针对上述情况进行了优化,在保证问答效果不变的情况下,对连续对话的实现进行了封装,对接时无需再关心 messages 的传递,也无需关心 Token 超出限制的问题(API 内部自动进行了处理),同时也提供了对话查询、修改等功能,使得整体的对接大大简化。
本文档会介绍下 AI 问答 API 的对接说明。
申请流程
要使用 AI 问答 API,首先到 Ace Data Cloud 控制台 获取您的 API Token,留作备用。
如果你尚未登录或注册,会自动跳转到登录页面邀请你注册和登录,完成后会自动返回当前页面。
一个 API Token 即可调用平台所有服务,无需为每个服务单独申请。 首次申请会赠送免费额度,可免费体验;额度不足时可在 控制台 充值通用余额。
📘 完整文档:AI 问答 API →
基本使用
首先先了解下基本的使用方式,就是输入问题,获得回答,只需要简单地传递一个question 字段,并指定相应模型即可。
比如说询问:“What’s your name?”,我们接下来就可以在界面上填写对应的内容,如图所示:
可以看到这里我们设置了 Request Headers,包括:
accept:想要接收怎样格式的响应结果,这里填写为application/json,即 JSON 格式。authorization:调用 API 的密钥,申请之后可以直接下拉选择。
model:模型的选择,比如主流的 GPT 3.5,GPT 4 等。question:需要询问的问题,可以是任意的纯文本。

answer 字段,就是该问题的回答。我们可以输入任意问题,就可以得到任意的回答。
如果你不需要任何多轮对话的支持,这个 API 可以极大方便你的对接。
另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
多轮对话
如果您想要对接多轮对话功能,需要传递一个额外参数stateful,其值为 true,后续的每次请求都要携带该参数。传递了 stateful 参数之后,API 会额外返回一个 id 参数,代表当前对话的 ID,后续我们只需要将该 ID 作为参数传递,就可以轻松实现多轮对话。
下面我们来演示下具体的操作。
第一次请求,将 stateful 参数设置为 true,并正常传递 model 和 question 参数,如图所示:
对应代码如下:
id 字段作为参数传递,同时 stateful 参数依然设置为 true,询问「What I asked you just now?」,如图所示:
对应代码如下:
流式响应
该接口也支持流式响应,这对网页对接十分有用,可以让网页实现逐字显示效果。 如果想流式返回响应,可以更改请求头里面的accept 参数,修改为 application/x-ndjson。
修改如图所示,不过调用代码需要有对应的更改才能支持流式响应。
将 accept 修改为 application/x-ndjson 之后,API 将逐行返回对应的 JSON 数据,在代码层面我们需要做相应的修改来获得逐行的结果。
Python 样例调用代码:
answer 即为最新的回答内容,delta_answer 则是新增的回答内容,您可以根据结果来对接到您的系统中。
JavaScript 也是支持的,比如 Node.js 的流式调用代码如下:
模型预设
我们知道,OpenAI 相关的 API 有对应的system_prompt 的概念,就是给整个模型设置一个预设,比如它叫什么名字等等。本 AI 问答 API 也暴露了这个参数,叫做 preset,利用它我们可以给模型增加预设,我们用一个例子来体验下:
这里我们额外添加 preset 字段,内容为 You are a professional artist,如图所示:
对应代码如下:
图片识别
本 AI 也能支持添加附件进行图片识别,通过references 传递对应图片链接即可,比如我这里有一张苹果的图片,如图所示:
该图片的链接是 https://cdn.acedata.cloud/ht05g0.png,我们直接将其作为 references 参数传递即可,同时需要注意的是,模型必须要选择支持视觉识别的模型,目前支持的是 gpt-4-vision,所以输入如下:
对应的代码如下:
联网问答
本 API 还支持联网模型,包括 GPT-3.5、GPT-4 均能支持,在 API 背后有一个自动搜索互联网并总结的过程,我们可以选择模型为gpt-3.5-browsing 来体验下,如图所示:
代码如下:
如果对模型回答质量有更高要求,可以将模型更换为 gpt-4-browsing,回答效果会更好。

