You need to enable JavaScript to run this app.
数据智能体

数据智能体

复制全文
智能问数(新版)
聊天补全
复制全文
聊天补全

您可使用聊天补全接口获取问数过程中的实时结果,聊天补全接口为一个流式接口,事件流输出[DONE]或接口响应流终止代表结束。

注意事项

当前此接口暂不支持多轮会话。

请求说明
  • 请求方式:POST
  • 请求地址:/dataAgent/llm/openApi/v2/signed/agent/chatCompletion
  • Content-Type:text/event-stream

请求参数

Body参数如下。

参数

类型

是否必选

示例值

描述

sessionId

int

12886164

会话ID,填上面createSession返回的data.sessionInfo.id

type

string

query

固定填写query即可。

data

object

参见下文请求示例

补全的会话详情。

data.userInput

string

参见下文请求示例

智能问数的问题。

data.enableClarify

boolean

true

是否开启反问澄清,当此值为true,且智能体管理后台打开反问澄清开关,才会开启反问澄清。

data.enable_report_search

boolean

true

是否开启图表检索,当此值为true,且智能体管理后台中配置了图表类的数据源,才开启图表检索。

data.clarifyResults

object

参见下文请求示例

意图澄清结果,当上一轮会话结果返回的格式为编号为11的报文时,填充此字段说明用户在意图澄清交互过程中的选择结果。

data.clarifyResults.toolCallId

string

参见下文请求示例

将上一轮会话结果中event中的toolCallId回填即可。

data.clarifyResults.skipClarify

boolean

false

是否跳过反问澄清,让模型自己发挥,默认false。

data.clarifyResults.userChoices

array

参见下文请求示例

对于模糊问题澄清内容的选择。

data.clarifyResults.userChoices[].type

string

参见下文请求示例

将event中result.suggestions[].type字段回填即可。

data.clarifyResults.userChoices[].options

array

参见下文请求示例

将用户选择的event中result.suggestions[].options的信息回填即可。

data.clarifyResults.userChoices[].description

string

参见下文请求示例

将event中result.suggestions[].description字段回填即可。

请求示例
{
    "sessionId": 12886164,
    "type": "query",
    "data": {
        "userInput": "在超市数据集中,有哪些带“北”字的城市",
        "enableClarify": true,
        "enable_report_search": true,
        "clarifyResults": { // 首次问数可以为空。
            "toolCallId": "",
            "skipClarify": false,
            "userChoices": [
                {
                    "type": "",
                    "options": [
                        {
                            "tableName": "",
                            "tableId": int,
                            "fieldName": "",
                            "value": "",
                            "appId": int,
                        }
                    ],
                    "description": ""
                }
            ]
        }
    }
}

返回参数

本接口的返回Response(text/event-stream)遵循SSE协议,SSE协议详情可参考 SSE协议说明。返回结果为data:为前缀的报文,参数包含流式结果的关键报文结果,data的详细说明如下。

data

返回结果data详细说明如下。

说明

data返回的报文中包含的核心参数如下:

  • type:通过type参数可判断当前返回的报文类型是哪种类型。
    • 例如,init(会话初始化)、result(模型返回结果)等。
    • 当前支持的type类型枚举值可参见下文的type的枚举值
  • status:同一类型的报文可能会包含多个问数流程阶段,通过status参数来标识同类型的报文的阶段。
    • 例如,type=result时,代表返回的报文为模型返回结果,status=success则表明模型返回结果为查询成功。
    • 当前支持的status枚举值可参见下文的status枚举值

当前data的报文类型和示例说明如下。

编号

报文格式格式样例

关键参数说明

1

{"type":"init","query_type":"normal","sub_query_info":[{"question": ${user_input} }],"is_thought_mode":true}

  • type类型:init
  • 报文含义:会话初始化报文

2

{"sub_id":0,"type":"result","status":"failed","msg":"错误信息","result":{}}

  • type类型:result
  • status:field
  • 报文含义:错误信息报文

3

{"round_id": 0, "sub_id": 0, "is_major": true, "type": "thought", "content": "开始搜索图表......\n\n"}

  • type类型:thought
  • 报文含义:模型思考信息报文

4

{"round_id": 1, "sub_id": 0, "is_major": true, "type": "code", "content": "根据"}

  • type类型:code
  • 报文含义:模型输出报文,可不用关注。

5

{"round_id": 2, "sub_id": 0, "is_major": false, "type": "tool", "content": "准备调用工具: (round_id=2, sub_id=0)function::ansi_sql_execution,id::call_dw4nr47544y4itglz76up2n1"}

  • type类型:tool
  • 报文含义:工具调用过程信息

6

{"type": "debug", "content": "voting_result: all_full_equals True, major_index 1, diverge_index_list[], similar_index_list[]"}

  • type类型:debug
  • 报文含义:多轮or并行调用debug信息,可忽略

7

{"round_id": 0, "sub_id": 0, "is_major": true, "type": "exec_context", "content": "-- 模型生成的SQL \n SELECT DISTINCT 城市 \n FROM 4250665 \n WHERE 城市 LIKE '%北%' ;"}

  • type类型:exec_context
  • 报文含义:工具执行过程中输出的上下文信息

8

{"round_id": 0, "sub_id": 0, "is_major": true, "type": "exec_result", "content": "工具调用执行结果"}

  • type类型:exec_result
  • 报文含义:工具执行结果

9

{"round_id": 1, "sub_id": 0, "type": "tool", "status": "tool_end", "msg": "{调用工具的参数和结果}"}

  • type类型:tool
  • status:tool_end
  • 报文含义:工具调用详细信息

9

{"round_id": 1, "sub_id": 0, "is_major": true, "type": "interpret", "content": "根据查"}

  • type类型:interpret
  • 报文含义:成功完成后,用于解释的报文

10

{"round_id": 0, "sub_id": 0, "type": "result", "status": "success", "msg": "success", "result": {"historyId": 4225437, "dataSetId": 4250665}, "title": "在超市数据集中,有哪些带“北”字的城市", "round_title": "在超市数据集中,有哪些带“北”字的城市"}

  • type类型:result
  • status:success
  • 报文含义:生成historyId报文

11

{"round_id": null, "sub_id": 0, "type": "result", "status": "success", "msg": "success", "result": {"thought": "用户需要分析数据变化趋势,但未明确时间范围和分析的指标口径,根据表信息,有多个表包含日期字段和不同的指标字段,需要用户明确时间范围和指标口径。", "fuzzyRequirements": "需要明确时间范围和分析的指标口径。", "suggestions": [{"options": [{"tableId": 4530118, "value": "2015-09-30 到 2022-01-05", "tableName": "zhouyf_simple_test_01", "fieldName": "入职日期", "appId": 1008919}, {"tableId": 4494668, "value": "2015-01-01 到 2018-12-30", "tableName": "mxl0903回归", "fieldName": "订单日期", "appId": 555163}, {"tableId": 4494668, "value": "2015-01-03 到 2019-01-06", "tableName": "mxl0903回归", "fieldName": "发货日期", "appId": 555163}], "description": "你未明确时间范围,这里为你提供了几个可能的时间范围选项,请选择合适的时间范围。", "type": "时间范围"}, {"options": [{"tableId": 4530127, "tableName": "zhouyf_simple_test_03", "fieldName": "存款余额(元)", "appId": 1008919}, {"tableId": 4494668, "tableName": "mxl0903回归", "fieldName": "销售额", "appId": 555163}, {"tableId": 4530123, "tableName": "zhouyf_simple_test_02", "fieldName": "年收入(万元)", "appId": 1008919}], "description": "你未明确要分析的指标口径,这里为你提供了几个可能的指标选项,请选择合适的指标。", "type": "指标口径"}], "toolCallId": "call_41cplq8c5exulc5jnzc8py1d"}, "title": "", "round_title": ""}

  • type类型:result
  • status:success
  • 报文含义:反问澄清报文,需要用户交互确认信息

12

{"sub_id": 0, "round_id": 0, "is_major": true, "type": "report", "status": "success", "result": {"reportId": 11587438, "appId": 555371, "reportName": "Top客户销售额", "dataSetName": "超市数据-知行 副本", "dataSetId": 2978669, "dashboardId": 0, "dashboardName": null, "role": true, "whereList": [{"id": "10000006952807", "name": "客户名称长度>2", "op": "==", "option": {"customList": [], "desensitizationList": [], "displayType": "multiDropDownList", "filterPattern": "Condition", "isReportFilter": false}, "preRelation": "and", "uniqueId": 250710205658092, "val": [1], "valOption": {"currentTab": "manual"}}]}}

  • type类型:report
  • status:success
  • 报文含义:召回图表报文

13

[DONE]

  • 报文含义:对话结束报文

type的枚举值

枚举值

含义

init

chat的初始化信号

report

模型返回结果是图表

thought

大模型思考过程,或调用工具的思考过程(执行思考)。

exec_context

工具调用的执行过程信息(执行内容)。

exec_result

工具调用的结果摘要(执行结果)。

result

模型返回结果,包括反问澄清和最终结果两种情况

  • 反问澄清返回字段:
    • thought:澄清的思考过程。
    • fuzzyRequirements:需要用户交互确认信息。
    • suggestions:澄清的选择结果,结构可参考请求参数中的data.clarifyResults.userChoices的结构。
  • 最终结果返回字段:
    • historyId:当前会话的结果ID。例如,对于模糊问题拆解为多个子问题进行问数时,每个子问题的结果均会有一个会话结果ID。
    • dataSetId:当前问题返回结果查询的数据集ID。

code

一些模型输出,无需关注。

tool

MCP工具调用相关信息,用作关键消息透出,无需关注。

interpret

数据解读,智能体管理后台的【基本信息】中打开【开启图表分析】开关时才会开启。

debug

部分debug关键帧信息,包括:投票的产生与结果、流式心跳等。

status枚举值

  • type = result时,status存在如下枚举值。

    枚举值

    含义

    failed

    查询失败。

    说明

    • 返回报文中,如果status=failed并不一定代表查询失败,在智能体开启【多路执行】的情况下,单轮次(round_id=1/2/3)的失败可以忽略,其他轮次会自动纠错。
    • 没有开启【多路执行】或【多路执行】的主链路(round_id=0)的status=failed,则代表查询失败。

    success

    查询成功。

    simple_text_shut_down

    简单问答结束。

  • type = tool时,status存在如下枚举值。

    枚举值

    含义

    tool_end

    工具调用结束

其他data字段说明

  • round_id:当agent开启【多路执行】时,会开启多个链路进行查询,round_id用于标识查询的链路。
  • is_major:是否是主链路。

注意

您只需要关注round_id=0is_major = true的消息即可。

最近更新时间:2025.12.16 15:25:21
这个页面对您有帮助吗?
有用
有用
无用
无用