chatBi相关
更新时间: 2025-01-21 11:07:54
阅读 24
1.自然语言问答获取数据接口
接口说明:
通过自然语言返回对应的数据结果
基本信息:
API | /api/dash/chatBi/askData |
Method | POST |
请求参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
token | String | 鉴权token,该用户必须有模型和项目的权限 |
projectId | Int | 项目ID |
dataModelIds | Arr | 要问的模型ID列表 |
question | String | 问题 |
inspect | Optional(String) | 返回的内容类型,data表示仅数据,sql表示仅sql,all表示数据和sql,picture表示截图,默认all |
options | Optional(Object) | 可选参数 |
options可选参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
pictureMaxWidth | Optional(Int) | inspect为picture时用来指定截图的最大宽度(单位为px),默认不限制宽度 |
pictureMaxHeight | Optional(Int) | inspect为picture时用来指定截图的最大高度(单位为px),默认不限制高度 |
示例输入:
{
"projectId": 3, //项目ID
"dataModelIds": [3, 4], //模型 ID 列表,
"question": "东北地区的销售额", //问题
"token": "xxx" //鉴权token,生成逻辑参考有数BI定制化文档
}
成功数据返回:
{
"code": 200, //非200表示查询失败
"message": "用户无权限", //非200 的情况下报错信息
"result": {
"answer": {
"logicalSql": "select xxx", //逻辑 sql,
"physicalSql": "select xxx", //最后物理执行的SQL
"structureExplain": "按照地区分组,计算销售额求和", //SQL解释
},
"fromDataModelId": 3, //选中哪个模型ID
"hitfFeedback": 0, //是否命中反馈回答
"isValid": true, //是否是有效答案
"systemMessage": "调用大模型超时",
"data": {
"head": ["地区", "销售额"], //表头
"body": [["东北", 1], ["华北", 2]], //二维数据,最多返回2万行
"size": 2 //总行数
},
"logId": 65356, // 问答的唯一 ID,可用于点赞点踩
"askCost": 5695, // 问题理解推理耗时(毫秒)
"tableQueryCost": 5485, // 数据落库查询耗时(毫秒)
"trustMode": true, // 是否是可信模式
"tableQueryData": {}, // 可视化查询 tabelQuery 的 dsl,业务调用方一般不用关注
"dataFilters": { //当前查询是否有行列权限作用
"columnFilters": [], //列权限作用
"rowFilters": [ //行权限作用
{
"$type": "ConditionFilter",
"fieldName": "dimensions",
"condition": {
"or": [
{
"$type": "ConditionFilter",
"fieldName": "dimensions",
"condition": {
"and": [
{
"$type": "DFilter",
"filter": {
"$type": "DiscreteDimensionFilter",
"exclude": false,
"select": [
"东北",
"中南",
"华北"
]
},
"pill": {
"field": "地区",
"dataType": "String",
"$type": "Dimension",
"produced": "Existed",
"alias": "地区",
"granularity": "g0",
"interpretation": "Discrete",
"role": "Dimension",
"tableId": 1,
"tableName": "sheet1"
}
}
]
},
"priority": 4
}
]
},
"priority": 4
}
]
},
}
}
示例输入(截图):
{
"projectId": 3, //项目ID
"dataModelIds": [3, 4], //模型 ID 列表,
"question": "东北地区的销售额", //问题
"token": "xxx", //鉴权token,生成逻辑参考有数BI定制化文档
"inspect": "picture" //进行截图
}
成功数据返回:
{
"code": 200, //非200表示查询失败
"message": "用户无权限", //非200 的情况下报错信息
"result": {
"dialogId": 36727, //会话id
"dialogLogId": 58891, //单轮问答id
"downloadLink": "http://..." //图片下载地址
}
}
2.点赞点踩接口
接口说明:
通过自然语言返回对应的数据结果
基本信息:
API | /api/dash/chatBi/feedback |
Method | POST |
请求参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
token | String | 鉴权token,该用户必须是有数系统里的域管理员 |
logId | Int | 问答的 id,参见 askData 接口返回的 logId |
feedback | Int | 0 点踩, 1 点赞 |
feedbackDetail | String(Optional) | 反馈的内容,可选 |
{
"logId": 123, // 问答的 id,参见 askData 接口返回的 logId
"feedback": 0, // 0 点踩, 1 点赞,
"feedbackDetail": "这个问题生成答案的不准确" // 反馈的内容,可选,
}
成功数据返回:
{
"code": 200,
"message": "", // 如果报错,则 code 不为 200,且有 message
"result": "ok",
}
3.获取 chatBi 历史日志接口
接口说明:
获取 chatBi 历史日志接口
基本信息:
API | /api/dash/chatBi/getDomainHistoryDialogs |
Method | GET |
请求参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
token | String | 鉴权token,该用户必须是有数系统里的域管理员 |
domainId | Int | 域ID |
beginTime | String | 开始时间 |
endTime | String | 结束时间 |
{
"token": "1503575355359c4fdea8ec1683ed10edd91ae",
"domainId": 12,
"beginTime": "2023-07-19 00:00:00",
"endTime": "2023-07-19 23:59:59"
}
成功数据返回:
{
"code": 200,
"result": [{
"id": 9652,
"question": "合同明细", //问题
"answer": "SELECT * FROM \"合同明细\";", //答案 SQL
"createTime": "2023-07-19T02:34:29.000Z", //问答时间
"dataModelId": 700289868, //模型ID
"isValid": 1, //是否有效
"creatorId": 12923,
"triggerName": null,
"creatorInfo": { //发起人用户信息
"uniqueId": "xiaokang@corp.netease.com", //账号
"email": "xiaokang@corp.netease.com", //邮箱
"nick": "" //昵称
}
},
{
"id": 9651,
"question": "合同明细金额",
"answer": "SELECT * FROM \"合同明细\";",
"createTime": "2023-07-19T02:34:23.000Z",
"dataModelId": 700289868,
"isValid": 1,
"creatorId": 12923,
"triggerName": null,
"creatorInfo": {
"uniqueId": "xiaokang@corp.netease.com",
"email": "xiaokang@corp.netease.com",
"nick": ""
}
}]
}
文档反馈
以上内容对您是否有帮助?