1.概述
1.1 版本
FineChatBI 版本 | 功能变动 |
---|---|
V3.28.0 | 支持流式输出结果 |
1.2 应用场景
FineChatBI 的知识问答功能支持用户在智能配置中接入企业自行开发的接口,实现对企业内部知识库的问答服务。
1.3 功能简介
用户开启知识库问答功能之后,知识库根据用户输入的查询内容生成对应回答的 HTML 字符串并进行 Base64 编码,帆软再解码还原 HTML 并并将其渲染至 FineChatBI 卡片回复界面。
2. 非流式输出配置
2.1 接口概览
请求方式:POST
请求地址:企业自定义的接口地址(需是流式输出地址,否则将报错)
在「智能问答配置>其他配置」中打开「知识库问法」,输入企业自定义的接口地址。
2.2 入参
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
query | String | 用户输入的查询内容 | 是 |
userName | String | 用户在 BI 中的 username | 是 |
2.3 出参
参数名 | 类型 | 说明 | 是否必需 |
---|---|---|---|
data | String | html字符串,用户的查询结果 | 是 |
code | int | 200 表示成功,可自定义其他报错状态码 | 必需 |
errorMsg | String | 报错信息 | 非必须 |
2.4 示例
知识库编码输出:
对于要输出的字符串 <div>Hello world! 你好世界!</div> ,系统将其经过 Base64 编码处理后,输出以下的出参结果给到帆软:
PGRpdj5IZWxsbyB3b3JsZCEg5L2g5aW95LiW55WM77yBPC9kaXY+
{
"data": "PGRpdj5IZWxsbyB3b3JsZCEg5L2g5aW95LiW55WM77yBPC9kaXY+",
"code": 200
}
帆软解码渲染
帆软获取 base64 编码后,自动执行解码操作,还原为初始 html 字符串 <div>Hello world! 你好世界!</div>,并将其渲染至 FineChatBI 卡片回复界面。
3.流式输出配置
3.1 接口概览
请求方式:POST
请求地址:企业自定义的接口地址(需是流式输出地址,否则将报错)
在「智能问答配置>其他配置」中打开「知识库问法」和「流式输出」,并填入请求地址。如下图所示:
3.2 入参
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
query | String | 用户输入的查询内容 | 是 |
userName | String | 用户在 BI 中的 username | 是 |
3.3 出参
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
content | String | 回答内容文本(可为 null) | 否 |
reasoning_content | String | 推理过程说明(可为 null) | 否 |
finish_reason | String | 结束标识(可为null,“stop”表示当前块结束) | 是 |
请求地址返回的流式响应中,每个流式块的结构需遵循以下规范。
{
"choices": [
{
"delta": {
"content": "回答内容片段", // 回答内容(可为null,表示当前无内容)
"reasoning_content": "推理过程片段" // 推理内容(可为null,表示当前无推理)
},
"finish_reason": null // 状态:null(未结束)/"stop"(结束)
}
]
}
本系统兼容复杂的 OpenAPI 结构,不过当前阶段仅处理choices数组中index为 0 的对象所包含的content、reasoning_content及finish_reason三个字段:
复杂openapi结构规范 |
|
4.效果查看
配置提问入口的名称和提示内容,可在下方查看效果预览。如下图所示: