发起AI对话
该接口用于向 AI 应用发送对话消息,支持文本输入并返回模型响应内容。
接口调用
说明
| 接口描述 | 与AI应用进行聊天 | ||
|---|---|---|---|
| 请求域名 | https://openapi.jbangai.com | ||
| 接口地址 | /api/v1/bot/chat | ||
| 请求方式 | POST | ||
| 权限校验 | 是 | ||
提交参数
Header请求头
| 参数 | 类型 | 是否必传 | 参数说明 |
|---|---|---|---|
| Access-Token | string | 是 | 从 获取令牌 中获取到对应的参数值 accessToken,详情请查看文档 |
Body请求体
| 参数 | 子参数 | 子子参数 | 类型 | 是否必传 | 参数说明 |
|---|---|---|---|---|---|
| conversationId | — | — | string | 是 | 从 创建会话 中获取到的会话ID参数 conversationId,详情请看文档 |
| message | — | — | object | 是 | 提问对象 |
| content | — | string | 是 | 提问纯文本内容 | |
| files | — | array | 否 | 提问的文件参数对象 | |
| name | string | 否 | 文件/图片名称(需带上文档/图片格式),例如 "name":"测试文档.docx" |
||
| size | integer | 否 | 文件/图片大小(单位为kb),例如:"size":10 |
||
| type | string | 否 | 类型(图片:image;文档类型:file,视频类型:video,音频类型:voice),例如 "type":"file" |
||
| url | string | 否 | 文件链接(需传文档/图片/视频/音频的可访问地址,解析失败请检查是否存在防盗链,需去除) | ||
| stream | — | — | boolean | 是 | AI生成的内容是否流式输出(默认传 true。建议使用流式方式,非流式的等待时间会因文档内容长度决定返回时长) |
请求示例
curl --location --request POST 'https://ai-user-api.jbangai.com/api/open/ai/v1/chat' \
--header 'Access-Token: eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJ7XCJpZFWi0jI3XCJpZFwiOjIwLFwiY3JlYXRlVGltZVwiOlwiMjAyMi0wNy0yNVQwMTo1N0s4MDA7MDA6MDBcIixcInVzZXJQcmVhdGlvblwiOlwiY2VyXCJ9' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: ai-user-api.jbangai.com' \
--header 'Connection: keep-alive' \
--data-raw '{
"conversationId": "90bz05n",
"message": {
"content": "总结一下文档和内容分别说了什么,50字以内",
"files": [
{
"name": "test.docx",
"size": 10,
"type": "docx",
"url": "https://jbangit-dev.oss-cn.com/ai/bot/eybne00b15/file/202411262ehci.docx"
},
{
"name": "test.png",
"size": 10,
"type": "image",
"url": "https://jbangit-dev.oss-cn.com/ai/bot/eybne00b15/image/20241184909mm3m.png"
}
]
},
"stream": true
}'
返回参数
| 参数 | 子参数 | 类型 | 说明 |
|---|---|---|---|
| code | — | string | 响应编码 |
| data | content | string | AI回复内容 |
| message | — | string | 返回提示信息 |
| serverTime | — | string | 当前时间戳 |
响应示例
流式方式
注:流式返回时,需要实时监听接口返回参数数据,type=start为开始,type=end则最终结束。
data:{"code":0,"content":null,"type":"start","finishReason":null}
data:{"code":0,"content":"你","type":"user","finishReason":""}
data:{"code":0,"content":"好","type":"user","finishReason":""}
data:{"code":0,"content":null,"type":"end","finishReason":null}
非流式方式
{
"code": 0,
"content": "你好",
"type": "end",
"finishReason": null
}