You need to enable JavaScript to run this app.
文档中心
数据智能体 DataAgent(私有化)

数据智能体 DataAgent(私有化)

复制全文
下载 pdf
创建与获取会话
聊天补全
复制全文
下载 pdf
聊天补全

您可使用聊天补全接口获取问数过程中的实时结果,聊天补全接口为一个流式接口,事件流输出[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即可。

source

string

openapi

请求来源。传入固定值"openapi"

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的消息即可。

最近更新时间:2026.03.09 16:14:41
这个页面对您有帮助吗?
有用
有用
无用
无用