
# 知识库
知识库是工作流的基础节点之一，仅包含"查询知识库"一个执行动作。
在工作流中添加知识库节点，可以根据输入参数从指定知识库内召回匹配的信息。
 #### 查询知识库配置说明
- 输入参数 用户配置运行动作执行动作，相关参数说明如[表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](https://support.huaweicloud.com/usermanual-wiseagent/appstage_04_0771.html#appstage_04_0771__request_SqlOrder)所示。 如下示例表示：按order字段的整数值降序排列，即order值最大的内容排在检索结果最前方。 ``` { "order_items": [ { "field": "metadata.order", "field_type": "INT", "order_type": "DESC" } ] } ```                                                                                                                                                                                                |
  | 关键字   | 否     | 用于向量化检索的文本内容。支持自定义文本或引入前置节点的输出，也支持两者组合使用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     
   表2SearchSqlFilter 
  | 参数          | 是否必选 | 参数类型                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|:---|:---|
  | group_type  | 否    | String                                                               | **参数解释：** 过滤条件运算符。 **约束限制：** 只有一个expression时，不需要group_type，group_type可以为null。 **取值范围：** 可以为null，如果不为null，枚举值AND和OR。 **默认取值：** 不涉及。 |
  | expressions | 否    | Array of [Expression] objects | **参数解释：** 过滤条件。 **约束限制：** 不涉及。 **取值范围：** 非空，条件数量介于1到10之间。 **默认取值：** 不涉及。                                                         |
     
   表3Expression 
  | 参数         | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|
  | 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。 **默认取值：** 不涉及。 |
     
  表4SqlOrder 
  | 参数          | 是否必选 | 参数类型                                                               | 描述                                                                                                                                                                                                                                                                                                               |
  |:---|:---|:---|:---|
  | order_items | 否    | Array of [OrderItem] objects | **参数解释：** 排序规则。 **约束限制：** 不涉及。 **取值范围：** 非空，数量介于1到10之间。 **默认取值：** 不涉及。 |
     
   表5OrderItem 
  | 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                     |
  |:---|:---|:---|:---|
  | field      | 否    | String | **参数解释：** 排序字段。 **约束限制：** 不涉及。 **取值范围：** 非空，字符串长度介于1到100之间。 **默认取值：** 不涉及。                                              |
  | field_type | 否    | String | **参数解释：** 排序字段类型。 **约束限制：** 不涉及。 **取值范围：** 可以为null，如果不为null，枚举值：**INT** 、**FLOAT** 、**BOOLEAN** 和**STRING**。 **默认取值：** 不涉及。 |
  | order_type | 否    | String | **参数解释：** 排序类型。 **约束限制：** 不涉及。 **取值范围：** 不为null，枚举值：**ASC** （升序）和**DESC**（降序）。 **默认取值：** 不涉及。                            |
     
  

- 输出参数 该执行动作是根据用户定义的内容输出指定参数。
  
- 节点实例
  在工作流中首次调用知识库节点需要新增实例，实例是节点的鉴权方式，如果未新增实例，节点就无法调通。
  1. 单击"新增实例"，在"创建实例"面板，配置[表6]参数信息。
      表6创建实例参数说明 
     | **参数名称**      || **参数说明**                                                                                                                                               |
     |:---|---|:---|
     | 基本信息 | 实例名称    | 必填项，自定义实例名称。                                                                                                                                           |
     | 基本信息 | 描述      | 选填项，输入实例相关描述信息。                                                                                                                                        |
     | 验证信息 | API Key | 必填项，单击"获取API key"跳转至AI原生应用引擎的"我的凭证"页面，在"平台API Key"页签获取，具体介绍请参见[创建API Key](https://support.huaweicloud.com/usermanual-wiseagent/appstage_04_0704.html)。 |
        
     
  
  2. 单击"保存"，创建实例成功。
    
- 节点备注 输入节点备注信息，方便后续查阅节点功能。节点备注最大长度限制为**1000个**字符。
  
 
