页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

Smartbi AIChat二次开发,提供的是标准Restful API。只需要登录后,执行查询就可以了。所以,只需要2个API就可以完成需要的操作。

4.接口说明

4.1 登录AIChat

4.1.1 接口说明

名称

请求地址

http://smartbi-AIChat-server:port/aiweb/api/v1/login

请求方式

POST

请求参数

userName

password

smartbiServer

casLoginUrl

loginMethod

4.1.2 接口参数说明


URL参数名

说明

是否必填

输入参数

userName

登录账号

必填

password

登录密码

必填

smartbiServer

Smartbi服务器地址;该AIChat服务器第一次登录Smartbi,必填;以后选填;不填则使用之前已经登录过的Smartbi服务器

选填

casLoginUrl

如果Smartbi是使用CAS登录方式,则需要填入该值;该AIChat服务器第一次登录Smartbi,必填;以后选填;不填则使用之前已经登录过的Cas认证服务器

选填

loginMethod

使用的登录方法;枚举值

login

loginWithCas

普通登录使用login;如果是Cas登录则使用loginWithCas

默认情况下都可以不填

选填

返回值

{

    "code": 0,

    "result": {

        "userId": "",

        "userName": "",

        "userAlias": "",

        "isAdmin":

    },

    "message": "",

    "token": ""

}


4.1.3 接口返回值说明

返回参数名

返回值说明

code

接口调用是否成功;0 - 表示成功;负数为错误码

message

错误描述,code=0 时,该内容为空

token

登录方法特有内容,这个非常重要,后续接口需要传递该值以验证登录

result

调用接口的返回内容,登录接口的返回内容说明如下:

"userId": "",                                                   Smartbi中的用户Id

"userName": "",                                             Smartbi中的用户名

"userAlias": "",                                               Smartbi中的用户中文名

"isAdmin":                                                     在Smartbi中是否是管理员

4.1.4 调用示例(PostMan调用截图)


Image Modified

4.2 查询接口(异步)


名称

描述

默认值

接口路径

http://host:port/aiweb/api/v3/conv/query

接口说明

V3版本查询方法 -- 异步方法 -- SSE请求

header

token

登录key,使用login方法获取;login方法请参考:登录AIChat

接口参数

convId

会话Id

datasetId

数据模型Id

question

用户问题


queryType

查询类型:

  • query(查询模式)

  • analysis(分析模式)

  • expert(专家模式)


id

本次对话id

从外部传入才能做点赞点踩


need_inquiry

本次查询是否需要使用反问功能

default(true)

返回内容

返回SSE对象,前端处理

SSE返回报文样例:

{"role": "SimpleQuery", "response_status": "generating code", "response_message": " \"", "execution_result": "", "send_to": "Unknown", "response_type": "python"}

...

SSE 接口会返回很多条这样的报文;具体原理请自行查询百度。

请手工拼接返回报文 "response_message" 和 "execution_result" 部分内容;response_type 表示当前这条报文的返回内容是啥。

...