1. 概述
Open Session 接口用于开启一轮对话,成功调用后返回 session token ,后续该轮对话的请求需携带此 token 以维持对话上下文 。同时,接口会返回当前分析主题的详细元数据信息,用于支撑数据分析、可视化等业务场景。
2. 接口说明
2.1 请求说明
请求信息
请求地址:webroot/decision/v1/ai/conversation/api/v5/cache/open/session
请求方式:POST
请求头
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
Authorization | String | 是 | Bearer + 单点登录返回的 token,用于身份验证 |
Authorization 参数示例
Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwidGVuYW50SWQiOiJkZWZhdWx0IiwiaXNzIjoiZmFucnVhbiIsImRlc2NyaXB0aW9uIjoiMSgxKSIsImV4cCI6MTc1NTE3ODQwMCwiaWF0IjoxNzU1MTQyNDAwLCJqdGkiOiJYS3pWYWpraFdTMm5neS9vNk5LV2VkWDJJd2RJQmoyUXlRRjBPUSttVk1JQ29NT20ifQ.Bq6_0eU-XrS1xUrkUC68gcoMS9upA-wyU8bIbIxjR54
请求体
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
query | String |
| 通过提问的问题开启一轮对话,会自动选择与问题匹配度高的主题开启对话 |
subjectId | String |
| 指定主题开启一轮对话 当 query 和 subjectId 同时配置时,subjectId 优先级更高 |
dcMode | boolean |
| 默认值未为 false,当设置为 true 时,会开启指标维度问答 优先级最高 |
请求示例
>指标维度请求示例:
{
"dcMode": true
}
>分析主题 query 请求示例:
{
"query": "上海市的合同金额"
}
>分析主题 subjectId 请求示例:
{
"subjectId": "d3e1b9cc823443a0b0eda6e0758906c7"
}
2.2 响应说明
请求成功后,服务器会返回以下响应参数:
参数名 | 类型 | 说明 |
---|---|---|
chatSessionId | String | 开启对话后返回的 session token ,后续若要延续对话,需使用该凭证关联 |
subjectSchema | ISubjectData | 当前分析主题的详细信息 |
以下为 ISubjectData 结构:
export interface ISubjectData {
subjectId: string;
subjectName: string;
models: IModelData[];
}
export interface IModelData {
modelId: string;
transferModelId?: string;
modelName: string;
belongsToDC: boolean;
tables: ITableData[];
}
export interface ITableData {
engineType: string;
fields: TableFieldConfig[];
tableId: string;
tableName: string;
}
export interface TableFieldConfig {
tableId: string;
fieldType: IFieldTypeName;
fieldData: {
field: TableFieldDataWithExtra;
data: (string | null)[] | null;
};
fieldSymbols: {
aggregate: boolean;
};
}
export enum IFieldTypeName {
DIMENSION = "Dimension",
METRIC = "Metric",
DATE = "Date",
}
export interface TableFieldData {
id: string;
name: string;
transferName: string;
type: FIELD_TYPE;
}
export interface TableFieldDataWithExtra extends TableFieldData {
extraInfo: null | {
description?: string;
tableId?: string;
};
}
export enum FIELD_TYPE {
NONE = 0,
// 维度
STRING = 16,
// 指标
NUMBER = 32,
// 日期
DATE = 48,
// 记录数
COUNTER = 64,
ROW = 80,
TARGET_NAME = 96,
// 计算字段
CALCULATE = 97,
// 指标转维度
TRANSFORM_FROM_NUMBER = 98,
// 计算字段转维度
TRANSFORM_FROM_CALC = 99,
DATE_TIME = 49,
// 维度转指标
TRANSFORM_FROM_STRING = 100,
// 日期转指标
TRANSFORM_FROM_DATE = 101,
STRING_FROM_AGG_CALC = 102,
DATE_FROM_AGG_CALC = 103,
STRING_CREATED_BY_CALC = 104,
DATE_CREATED_BY_CALC = 105,
TRANSFORM_FROM_STRING_CREATED_BY_CALC = 106,
TRANSFORM_FROM_DATE_CREATED_BY_CALC = 107,
STRING_DIMENSION = 108, // 数据中心-字符串维度
NUMBER_DIMENSION = 109, // 数据中心-指标维度
DATE_DIMENSION = 110, // 数据中心- 日期
NUMBER_INDEX = 111, // 数据中心-常规指标
NUMBER_AGG_INDEX = 112,
TRANSFORM_FROM_STRING_DIMENSION = 113,
TRANSFORM_FROM_NUMBER_DIMENSION = 114,
TRANSFORM_FROM_DATE_DIMENSION = 115,
TRANSFORM_FROM_NUMBER_INDEX = 116,
}
ISubjectData 的样例一:ISubjectData 样例一.txt
ISubjectData 的样例二:
{
"subjectId": "87aedcee5b1b43938d1f8bf18e24f792",
"subjectName": "个性化问法",
"models": [
{
"modelId": "80dcf5d58ec34ff9a13cebcec0794772",
"modelName": "个性化问法",
"belongsToDC": false,
"transferModelId": "80dcf5d58ec34ff9a13cebcec0794772",
"tables": [
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"tableName": "个性化问法",
"engineType": "spider",
"fields": [
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[59d3][540d]",
"name": "姓名",
"type": 16,
"transferName": "姓名",
"extraInfo": null
},
"data": [
"Alice",
"Anna",
"demo",
"测试人员1",
"Ben",
"eoco",
"Mike",
"1"
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[771f][5b9e][59d3][540d]",
"name": "真实姓名",
"type": 16,
"transferName": "真实姓名",
"extraInfo": null
},
"data": [
"夏梅",
"安娜",
"demo",
"测试人员1",
"汪鹏",
"艾可",
"马功成",
"1"
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[56e2][961f]",
"name": "团队",
"type": 16,
"transferName": "团队",
"extraInfo": null
},
"data": [
"采购部",
"技术支持",
"研发部门",
""
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[804c][52a1]",
"name": "职务",
"type": 16,
"transferName": "职务",
"extraInfo": null
},
"data": [
"部长",
"一线技术支持",
"组长",
"组员",
""
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[89d2][8272]",
"name": "角色",
"type": 16,
"transferName": "角色",
"extraInfo": null
},
"data": [
"采购人员",
"普通角色",
"研发人员",
""
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Dimension",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[5408][540c][7f16][53f7]",
"name": "合同编号",
"type": 16,
"transferName": "合同编号",
"extraInfo": null
},
"data": [
"SN0001",
"SN0002",
"SN0003",
"SN0004",
"SN0005",
"SN0006",
"SN0007",
"SN0008",
"SN0009",
"SN0010",
"SN0011",
"SN0012",
"SN0013",
"SN0014"
]
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Metric",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[9500][552e][989d]",
"name": "销售额",
"type": 32,
"transferName": "销售额",
"extraInfo": null
},
"data": []
}
},
{
"tableId": "80dcf5d58ec34ff9a13cebcec0794772",
"fieldType": "Date",
"fieldSymbols": {
"aggregate": false,
"tableIds": []
},
"fieldData": {
"field": {
"id": "80dcf5d58ec34ff9a13cebcec0794772_[65f6][95f4]",
"name": "时间",
"type": 48,
"transferName": "时间",
"extraInfo": null
},
"data": []
}
}
]
},
{
"tableId": "public_fields",
"tableName": "public_fields",
"engineType": "spider",
"fields": []
}
]
}
]
}