知识库
知识库是工作流的基础节点之一,仅包含“查询知识库”一个执行动作。
在工作流中添加知识库节点,可以根据输入参数从指定知识库内召回匹配的信息。
查询知识库配置说明
- 输入参数
用户配置运行动作执行动作,相关参数说明如表1所示。
表1 输入参数说明 参数
是否必填项
说明
知识库ID
是
指定检索目标知识库的唯一标识,通过此ID精准定位并召回对应信息。
在下拉框中选择知识库ID。
最小相似度
否
检索的关键字和返回内容的相似度阈值,取值范围0~1,默认为0.5,表示返回相似度大于等于0.5的结果。
限量
否
从检索结果中返回的内容片段数量,取值范围:0~10,默认为10条。
过滤项
否
配置文本过滤规则。依据知识库索引字段配置的文本过滤字段对检索结果进行筛选,以保障结果的精准性和相关性。默认为空,支持填入SearchSqlFilter类对象,SearchSqlFilter参数说明如表2所示。
如下示例表示:在知识库索引字段配置时选择了file_name和path字段作为文本过滤字段,此处对这两个字段配置过滤条件,筛选元数据中file_name字段等于 “四大名著介绍.txt”或元数据中path字段等于 “四大名著介绍.txt”的内容。
{ "group_type": "OR", "expressions": [ { "field": "metadata.file_name", "field_type": "STRING", "operator": "EQUAL", "values": [ "四大名著介绍.txt" ] }, { "field": "metadata.path", "field_type": "STRING", "operator": "EQUAL", "values": [ "四大名著介绍.txt" ] } ] }
排序项
否
配置排序规则,依据元数据中的order字段进行排序,以保障结果的精准性和相关性。默认为空,支持填入SqlOrder类对象,SqlOrder参数说明如表6所示。
如下示例表示:按order字段的整数值降序排列,即order值最大的内容排在检索结果最前方。
{ "order_items": [ { "field": "metadata.order", "field_type": "INT", "order_type": "DESC" } ] }
关键字
否
用于向量化检索的文本内容。支持自定义文本或引入前置节点的输出,也支持两者组合使用。
表2 SearchSqlFilter 参数
是否必选
参数类型
描述
group_type
否
String
参数解释:
过滤条件运算符。
约束限制:
只有一个expression时,不需要group_type,group_type可以为null。
取值范围:
可以为null,如果不为null,枚举值AND和OR。
默认取值:
不涉及。
expressions
否
Array of Expression objects
参数解释:
过滤条件。
约束限制:
不涉及。
取值范围:
非空,条件数量介于1到10之间。
默认取值:
不涉及。
表3 Expression 参数
是否必选
参数类型
描述
field
否
String
参数解释:
过滤字段。
约束限制:
不涉及。
取值范围:
非空,字符串长度介于1到100之间。
默认取值:
不涉及。
field_type
否
String
参数解释:
过滤字段类型。
约束限制:
不涉及。
取值范围:
可以为null,如果不为null,枚举值:INT、FLOAT、BOOLEAN和STRING。
默认取值:
不涉及。
operator
否
String
参数解释:
过滤操作符。
约束限制:
不涉及。
取值范围:
可以为null,如果不为null,枚举值:EQUAL、NOT_EQUAL、GREAT_THAN、GREAT_EQUAL、LESS_THAN、LESS_EQUAL、IN、NOTIN和STARTS_WITH。
默认取值:
不涉及。
values
否
Array of strings
参数解释:
过滤值。
约束限制:
当operator参数的值为EQUAL(等于)、NOT_EQUAL(不等于)、GREAT_THAN(大于)、GREAT_EQUAL(大于等于)、LESS_THAN(小于)、LESS_EQUAL(小于等于)和STARTS_WITH(以xxx开头)时,数量限制为1。
取值范围:
非空,数量介于1到100之间,每个字符串长度最大不超过2000。
默认取值:
不涉及。
表4 SqlOrder 参数
是否必选
参数类型
描述
order_items
否
Array of OrderItem objects
参数解释:
排序规则。
约束限制:
不涉及。
取值范围:
非空,数量介于1到10之间。
默认取值:
不涉及。
表5 OrderItem 参数
是否必选
参数类型
描述
field
否
String
参数解释:
排序字段。
约束限制:
不涉及。
取值范围:
非空,字符串长度介于1到100之间。
默认取值:
不涉及。
field_type
否
String
参数解释:
排序字段类型。
约束限制:
不涉及。
取值范围:
可以为null,如果不为null,枚举值:INT、FLOAT、BOOLEAN和STRING。
默认取值:
不涉及。
order_type
否
String
参数解释:
排序类型。
约束限制:
不涉及。
取值范围:
不为null,枚举值:ASC(升序)和DESC(降序)。
默认取值:
不涉及。