知识库检索范围设置

最近更新时间:2024-11-26 20:59:42

我的收藏
知识库检索范围设置用于配置 API 参数和标签名称的映射关系,实现不同身份用户提问检索不同的知识范围的场景。
1. API 参数:是指使用应用对话端接口的 custom_variables 字段传入的参数,可在管理 API 参数中维护,详情请参见 对话端接口文档(WebSocket)对话端接口文档(HTTP SSE)
2. 标签名称:是指在标签管理中维护的标签名称,用于给文档和问答打标签。

功能说明

知识库检索范围设置

用于配置 API 参数与标签名称的映射关系,配置后通过应用对话端接口的 custom_variables 传入的参数内容会匹配对应标签值的知识,详情请参见 对话接口总体概述




如何选择“且”与“或”

案例背景:
1. custom_variables 中传入{"UserID":"内部员工","Department":"产品部"}。
2. 知识检索范围设置中配置映射关系。
API 参数填写“UserID”映射标签名称“用户身份”
API 参数填写“Department”映射标签名称“部门”
用户身份的标签值包括内部员工和外部用户,部门的标签值包括产品部、研发部、测试部。
设置选择 API 参数为“且”
传入多个参数映射多个标签时,会检索同时包含多个标签的知识以及未打标签的知识。
以上诉案例为例,最终结果:检索 “用户身份” 为 “内部员工” 且 “部门” 为 “产品部” 的知识,以及未打标签的知识。
设置选择 API 参数为“或”
传入多个参数映射多个标签时,会检索包含任意标签的知识以及未打标签的知识。
以上诉案例为例,最终结果:检索 “用户身份” 为 “内部员工” 的知识、 “部门” 为 “产品部” 的知识、以及未打标签的知识。

配置 API 参数与标签名称的映射关系

API 参数名称
通过应用对话端接口的 custom_variables 传入的参数,维护到管理API参数中,可在知识库检索范围设置和工作流节点中引用,详情请参见 对话端接口文档(WebSocket)对话端接口文档(HTTP SSE)



注意:
API 参数名称必须和 custom_variables 中传入的参数保持一致,且格式要求为英文字母开头,支持英文与下划线“_”。
标签名称
在标签管理中维护标签名称及标签值,支持为文档/问答打标签。支持在知识库检索范围设置中选择标签管理中的标签,配置API参数与标签名称的映射关系,通过 custom_variables 传入的参数的用户提问后,检索对应标签的知识后回答。



注意:
1. 通过 custom_variables 传入的参数要实现检索对应标签的知识,必须要在知识库检索范围设置中配置 API 参数和标签名称的映射关系。
2. 配置映射关系前,建议先在标签管理中维护标签并为文档/问答打标签。

使用场景及操作步骤

使用场景概述

当业务中期望不同的身份的用户提问限制检索一定范围的知识做回答,例如 A 部门的员工,只能咨询 A 部门下的知识,问其他部门的知识需要给出拒答的场景。
以下面场景为例:
场景案例
用户身份(区分外部用户和内部员工),内部员工需要区分不同部门(产品部、研发部、测试部),外部用户不区分其他身份。要实现不同身份、不同部门之间知识隔离,当用户提问时只能检索对应身份/部门的知识做应答。
用户身份:UserID
部门:Department

操作步骤说明

第一步:标签管理中新建标签

从文档/问答标签中进入标签管理功能,创建“用户身份”和“部门”2个标签名称,用户身份的标准词包括外部用户内部员工;部门包括产品部研发部测试部。




第二步:为文档/问答打标签

1. 外部用户可见的文档,在文档标签中选择“标签名称=用户身份”;“标签值=外部用户”,不用设置部门标签。



2. 内部员工可见文档
“标签名称=用户身份”,“标签值=内部员工”。
“标签名称=部门”,“标签值=产品部”,根据实际员工可见范围选择标签值。




第三步:知识库检索范围设置

知识管理>知识库设置>知识库检索范围设置中,选择API参数为“且”,API参数名称“UserID”,映射标签名称“用户身份”;API参数名称“Department”,映射标签名称“部门”。




第四步:应用对话 API 传入参数

应用对话端 custom_variables 字段中,传入参数和参数值。
外部用户
"custom_variables":{
"UserID":"外部用户"
}
内部用户
"custom_variables":{
"UserID":"内部员工",
"Department":"产品部"
}
完成以上步骤配置和传参,对话中即可实现不同的身份的用户提问限制检索一定范围的知识做回答。