轻语AI聊天接口
POST /data/api/fetchAiResult提供单轮文本问答能力,适合智能客服、内容改写、工单分类和编辑器辅助。本文重点介绍调用边界,而不是把模型输出当成业务事实。
一、请求和响应结构
接口使用JSON请求体,必填字段是 apikey 和 text。成功时HTTP响应中的 code 为200,AI答复位于 msg 字段;非200响应应读取msg并转成业务侧可理解的错误提示。
curl -X POST 'https://5555api.com/data/api/fetchAiResult' \
-H 'Content-Type: application/json' \
-d '{"apikey":"YOUR_APIKEY","text":"用三点说明REST API和GraphQL的区别"}'
const response = await fetch('https://5555api.com/data/api/fetchAiResult', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
apikey: process.env.QINGYU_API_KEY,
text: userPrompt
})
});
const result = await response.json();
if (result.code !== 200) throw new Error(result.msg || 'AI请求失败');
return result.msg;
二、如何组织单轮上下文
接口本身按单次请求处理。做多轮聊天时,业务系统可以保留最近几轮用户与助手消息,整理成清晰的文本再传入 text。为了控制请求大小,应限制历史轮数,并在达到上限时先做摘要。
function buildPrompt(history, question) {
const recent = history.slice(-6).map(item =>
`${item.role === 'user' ? '用户' : '助手'}:${item.content}`
).join('\n');
return `请基于以下对话继续回答,无法确认时明确说明。\n${recent}\n用户:${question}`;
}
三、超时、限流与重试
接口超时时间为30秒,常规问题应在较短时间内返回。前端要展示loading和取消按钮,服务端设置自己的超时;网络断开可有限重试,apikey错误、余额不足和频率超限则不要重复请求。
| 错误类型 | 处理方式 |
|---|---|
| 网络暂时失败 | 指数退避重试1至2次 |
| HTTP非200 | 记录msg并提示用户 |
| code非200 | 区分鉴权、余额、参数和限流 |
| 超过30秒 | 取消本次请求,允许用户重新提交 |
四、输出安全与业务校验
- 不要把API Key放入网页、移动端安装包或公开日志。
- 展示前限制输出长度,过滤不允许的HTML和脚本内容。
- 涉及价格、库存、权限和合同的内容要回到真实数据库校验。
- 把模型输出标记为“AI生成”,保留人工修改入口。
五、适合落地的场景
FAQ客服可以把用户问题和固定业务规则拼接到提示词中;编辑器可以把选中文本传给接口做改写;工单系统可以让AI先生成摘要和标签,再由人工确认。配合文字转语音API还能把客服答复扩展成语音播报。
六、相关文档
完整字段、频率限制和多语言示例请查看AI聊天API文档。需要先生成配图时,可参考AI图片生成API实战。
常见问题
AI聊天API怎么调用?
向POST /data/api/fetchAiResult提交apikey和text,成功响应中的msg字段就是AI答复。
接口支持多轮对话吗?
当前接口按单次请求独立处理。需要多轮上下文时,由业务侧整理最近几轮对话并拼接到text中,同时控制总长度。
AI输出可以直接展示给用户吗?
建议先做长度、敏感内容、格式和业务事实校验,再展示或写入数据库;模型输出不应直接作为权限、支付或合规决策依据。
结语
AI聊天API最稳妥的接入方式是:服务端持钥、单轮调用、业务侧管理上下文、输出经过校验。把模型当作内容辅助工具,而不是不可审计的业务决策引擎,才能更安全地上线。