开始会话
接口信息
接口地址:/api/v1/chat
请求方式:POST
请求数据类型:application/json
响应数据类型:text/event-stream
接口描述:
接口为SSE流,返回数据为JSON格式。
请求示例:
javascript
{
"conversationId": 0,
"variableParams": {},
"message": "",
"attachments": [
{
"fileKey": "",
"fileUrl": "",
"fileName": "",
"mimeType": ""
}
],
"debug": true,
"selectedComponents": [
{
"id": 0,
"type": ""
}
]
}
请求参数
请求头
参数名 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Authorization | string | 是 | API Key | Bearer ak-xxxxeyJhbGciOiJIUzI1NiJ9 |
请求参数:
参数名称 | 参数说明 | 是否必须 | 数据类型 |
---|---|---|---|
conversationId | 会话唯一标识 | true | integer(int64) |
variableParams | 智能体配置的变量参数 | false | object |
message | chat消息 | false | string |
attachments | 消息附件 | false | array |
fileKey | false | string | |
fileUrl | 文件URL | true | string |
fileName | false | string | |
mimeType | 文件类型 | true | string |
debug | 是否调试模式 | false | boolean |
selectedComponents | false | array | |
id | 组件ID | false | integer |
type | 组件类型,可用值:Plugin,Workflow | false | string |
响应参数
参数名称 | 参数说明 | 类型 |
---|---|---|
requestId | 请求唯一编号(任务编号) | string |
eventType | 可用值:PROCESSING 执行过程中工具调用MESSAGE 响应消息FINAL_RESULT 会话结束后最终汇总消息,包含完整的消息内容,token使用数等HEART_BEAT 为了使链接保持,会话过程中服务器端会定期向客户端发送心跳消息用于保活,ERROR 会话出现异常 | string |
error | 会话出现异常时的错误信息 | string |
data | 各个事件类型对应的数据 | object |
completed | 输出过程中为false,最后一条消息会返回true | boolean |
响应示例:
javascript
[
{
"requestId": "",
"eventType": "",
"error": "",
"data": {},
"completed": true
}
]
事件说明
PROCESSING
会话消息在输出过程中,智能体可能会调用不同的工具,PROCESSING
消息定义工具调用的开始和结束。示例会话如下:
data中的参数说明:
参数名称 | 参数说明 | 类型 |
---|---|---|
name | 工具名称 | string |
icon | 工具图标 | string |
type | 工具类型,包括Mcp、Plugin、Workflow、Table、Knowledge | string |
status | 执行状态,包括 EXECUTING 执行中,FINISHED 执行完成 | string |
result | 工具执行数据 | object |
executeId | 工具执行任务编号,开始和结束保持一致 | string |
input | 工具的入参信息,根据工具的实际情况而定 | object |
result | 工具的出参信息,根据工具的实际情况而定 | object |
数据示例:
json
data:{
"requestId": "def1e4bf16664abca70621081d4c9fae",
"eventType": "PROCESSING",
"error": null,
"data": {
"targetId": 120,
"name": "get_hot_data",
"type": "Mcp",
"status": "EXECUTING",
"result": {
"success": null,
"error": null,
"data": null,
"startTime": 1751969762873,
"endTime": null,
"input": {
"site": "douyin"
},
"executeId": "1612bc130e4147ccbbf58033fa5b02e0"
}
},
"completed": false
}
data:{
"requestId": "def1e4bf16664abca70621081d4c9fae",
"eventType": "PROCESSING",
"error": null,
"data": {
"targetId": 120,
"name": "get_hot_data",
"type": "Mcp",
"status": "FINISHED",
"result": {
"success": true,
"error": null,
"data": {
"success": true,
"message": null,
"result": [
{
"data": "此处省略一万字",
"type": "TEXT"
}
]
},
"startTime": 1751969762873,
"endTime": 1751969764300,
"input": {
"site": "douyin"
},
"executeId": "1612bc130e4147ccbbf58033fa5b02e0"
},
"cardBindConfig": null,
"cardData": null
},
"completed": false
}
MESSAGE
data中的参数说明
参数名称 | 参数说明 | 类型 |
---|---|---|
id | 消息ID | string |
role | 可用值:USER,ASSISTANT | string |
type | 可用值:CHAT 普通消息输出THINK 思考消息PROCESS_OUTPUT 工作流过程输出节点输出内容QUESTION 工作流问答节点输出问题内容 | string |
text | 消息内容 | string |
time | 消息时间 | string |
attachments | 消息附件,一般用户消息才有 | array |
fileKey | string | |
fileUrl | 文件URL | string |
fileName | string | |
mimeType | 文件类型 | string |
think | 思考内容 | string |
quotedText | 引用消息内容 | string |
messageType | 可用值:USER,ASSISTANT | string |
ext | 消息扩展内容,如果类型为QUESTION 时,里面为问题列表 | array |
finished | 是否消息内容输出结束 | boolean |
数据示例
json
data:{
"requestId": "def1e4bf16664abca70621081d4c9fae",
"eventType": "MESSAGE",
"error": null,
"data": {
"id": "def1e4bf16664abca70621081d4c9fae",
"role": "ASSISTANT",
"type": "CHAT",
"text": "你",
"time": null,
"attachments": null,
"think": null,
"quotedText": null,
"ext": null,
"finished": false,
"metadata": null,
"messageType": "ASSISTANT"
},
"completed": false
}
data:{
"requestId": "def1e4bf16664abca70621081d4c9fae",
"eventType": "MESSAGE",
"error": null,
"data": {
"id": "def1e4bf16664abca70621081d4c9fae",
"role": "ASSISTANT",
"type": "CHAT",
"text": "好",
"time": null,
"attachments": null,
"think": null,
"quotedText": null,
"ext": null,
"finished": false,
"metadata": null,
"messageType": "ASSISTANT"
},
"completed": false
}
HEARTBEAT
收到HEARTBEAT事件时可以直接忽略
json
data:{"eventType":"HEART_BEAT","completed":false}
FINAL_RESULT
data中的参数说明
参数名称 | 参数说明 | 类型 |
---|---|---|
startTime | 开始时间戳(毫秒) | number |
endTime | 结束时间戳(毫秒) | number |
completionTokens | 输出token数 | integer |
promptTokens | 输入提示词token数 | integer |
totalTokens | 总计token数 | integer |
outputText | 汇总输出消息内容 | string |
数据示例
json
data:{
"requestId": "def1e4bf16664abca70621081d4c9fae",
"eventType": "FINAL_RESULT",
"error": null,
"data": {
"success": true,
"error": null,
"startTime": 1751969761777,
"endTime": 1751969773716,
"completionTokens": 304,
"promptTokens": 21546,
"totalTokens": 21850,
"outputText": "抖音的热搜如下:\n\n1. **台风丹娜丝实时路径**\n - 热度:1206.9万\n - 时间:7/7/2025, 3:15:35 PM\n\n2. **西藏吉隆口岸泥石流17人失联**\n - 热度:1195.9万\n - 时间:4小时前\n\n接下来查询百度的热搜。\n\n百度的热搜如下:\n\n1. **国防部回应歼-10战机出口问题**\n - 热度:780.9万\n\n2. **扛140斤硬币存银行遭拒 当事人发声**\n - 热度:771.4万\n\n以上分别是抖音和百度的热搜信息。如果还有其他需求,请随时告诉我!"
},
"completed": true
}