# 创建知识集市

知识集市可让您将结构化数据嵌入并存储在矢量数据库中。这样就可以利用语义搜索特性检索增强的上下文，将其作为检索增强生成 (RAG) 应用程序的上下文。

输出格式为 `JSON`。

信息注释你需要 Qlik Talend Cloud Enterprise 订阅。

## 要求

* 你需要 Qlik Talend Cloud Enterprise 订阅。

* 在 Snowflake 和 Databricks 平台上受支持。Snowflake Iceberg 不受支持。

* 需要客户管理的数据网关。

  Databricks 需要 Qlik 数据网关 - 数据移动 版本 2024.11.95 或更高版本。

## 安装 Qlik 数据网关 - 数据移动

创建知识集市前，必须安装特定的 Qlik 数据网关 - 数据移动。有关更多信息，请参阅[设置知识集市的 Qlik 数据网关 - 数据移动](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/gateways-for-knowledge-mart.htm)。

## 支持的连接

有关支持方面的信息：

* 矢量数据库，请参阅[连接至矢量数据库](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-vector-databases.htm)。
* LLM 连接，请参阅[连接至 LLM](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-llm-connections.htm)。
* 文件存储，请参阅[连接至文件存储](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-file-storage.htm)。

## 创建数据

1. 单击左侧菜单里的流水线项目，然后打开一个项目。

2. 从流水线项目页面，您可以生成并发布文档到矢量数据库。或者：

   * 单击新建 &gt; 知识集市。
   * 单击数据任务的 the 操作图标 icon &gt; 知识集市。

   配置窗口打开。

3. 输入名称。

4. 输入描述。这是可选的。

5. 从下拉列表存储矢量中选择文件的存储位置。要将文件同项目一起存储，请选择数据项目平台。

6. 如果已选择外部矢量数据库，请创建或选择矢量数据库连接。文件和矢量都将存储在这个矢量数据库中。

7. 创建或选择 LLM 连接。使用语义搜索需要此连接。

8. 单击创建。

9. 在创建数据后，添加文件。

## 添加文档

信息注释仅文本格式受支持。例如，不能提取图表或图像中的文本。

1. 在数据任务页面的数据集选项卡中，在左侧面板中单击添加。

2. 选择用来生成文档的基础数据集。将为每条记录创建一个文档。例如，对于患者列表，将为每个患者创建一个文档。

3. 文档模式名称字段已预先填入所选基础数据集的名称。如有需要，可重新命名。

4. 输入描述。这是可选的。

5. 选择您想纳入的数据，以丰富文档内容。

6. 单击确定。返回文档模式选项卡。

7. 选择数据集选项卡。

8. 在左侧面板中，选择之前要作为基础数据集的数据集。

9. 要删除不需要包含在文档中的数据，请选择复选框并单击删除。

10. 选择您要定义为元数据的所有字段的元数据。在将数据发送到LLM之前，您可以根据元数据进行筛选。

    信息注释在Databricks上，元数据由一个字段实现，该字段包含所选元数据字段的键和值的JSON表示。

11. 为了改进 LLM 执行的语义搜索，请重命名那些名称不够清晰除的数据。

    例如将 dt 重命名为 date。

12. 根据需要删除和重命名数据后，单击右侧的 the 操作图标 icon &gt; 准备数据。文档以 `JSON` 格式生成。

13. 生成文档时：

    1. 选择数据集选项卡。
    2. 要在运行任务前验证文档，请单击查看数据以显示数据样本。
    3. 单击运行。文件将根据配置被传输到矢量数据库或数据平台。

运行按钮激活后，传输即告完成。

为确保所有数据都已得到传输，您可以询问有关数据的问题。有关更多信息，请参阅[使用测试助手](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Test-Assistant.htm)。

## 满负载和更改数据捕获 (CDC)

支持满负载和 CDC。

满负载：为每个文档实例生成一个文档，并将其发送到目标。

CDC：基本或相关实体发生任何变化后，文件都会重新生成。

在基础实体中添加一个条目时，会创建一个新文档。若相关实体中没有条目可以连接到基础实体，它们将不会出现在文档中。

## 更新输入数据

在更新输入数据时，必须运行数据任务将更改传输到矢量数据库或数据平台。

## 索引名称

每个知识集市都有一个索引名称，用于语义搜索。

配置任务写入同一个索引时，必须为任务配置相同的 LLM 参数。

如果您希望自己的文件在同一个索引中，它们必须有相同的索引名称。

要编辑索引名称：

1. 在数据任务页面，单击设置。
2. 选择矢量数据库设置选项卡。
3. 编辑索引名称。
4. 单击确定。

## 查看任务信息

点击菜单栏上的 the 信息 icon 以查看任务信息，例如：

* 所有者

* 空间

* 数据平台

* 项目 ID

* 数据任务运行时 ID

## 设置

您可以查看和编辑知识集市设置。

在数据任务页面中，单击 the More Horizontal icon &gt; 设置。

信息注释由于设置取决于存储（Databricks、Snowflake 等），下表描述了始终可用的设置。可使用更多设置。

本表说明连接连接选项卡的设置。

| 设置 | 描述 |
| --- | --- |
| 源连接 | 源连接。 |
| 将矢量存储在 | 从下拉列表中选择：<br><br><ul><li><span>外部矢量数据库</span></li><li><span>数据项目平台</span></li></ul> |
| 矢量数据库连接<br><br>对存储矢量选择了外部矢量数据库时，可以使用此设置。 | 矢量数据库连接。<br><br>有关更多信息，请参阅[连接至矢量数据库](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-vector-databases.htm)。 |
| LLM 连接 | LLM 连接。<br><br>有关更多信息，请参阅[连接至 LLM](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-llm-connections.htm)。<br><br>要将 Databricks 用作 LLM 连接，请在创建知识集市时配置嵌入模型服务端点和完成模型服务端点。有关更多信息，请参阅 [Databricks 文档](https://docs.databricks.com/aws/en/machine-learning/model-serving/create-foundation-model-endpoints#create-an-external-model-serving-endpoint)。 |

此表描述了平台设置平台设置选项卡的设置。

| 设置 | 描述 |
| --- | --- |
| 数据任务模式 | 数据任务架构的名称。 |
| 内部架构 | 内部模式的名称。 |
| 所有表格和视图的前缀 | 用于解决多个数据任务之间冲突的前缀。 |

此表描述了矢量数据库设置矢量数据库设置选项卡的设置。

| 设置 | 描述 |
| --- | --- |
| 索引架构<br><br>如果对存储矢量选择了外部矢量数据库，可以使用此设置。 | 索引模式的名称。 |
| 索引名称 | 索引的名称。 |
| 如果索引已存在 | 如果多个任务写入同一索引，选择是否必须删除该索引：<br><br><ul><li><span>使用现有索引</span>：不删除索引。</li><li><span>删除并创建索引</span>：将索引删除。</li></ul> |
| Databricks 向量搜索端点 | 在 Databricks 中创建的向量搜索端点的名称。有关更多信息，请参阅[配置 Databricks 用于知识集市](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Creating-knowledge-marts.htm#Configur)。<br><br>信息注释仅适用于使用 Databricks 作为数据平台的项目。 |

此表描述了运行时运行时选项卡的设置。

| 设置 | 描述 |
| --- | --- |
| 平行执行 | 数据库连接的最大数量。<br><br>输入 1 到 50 之间的值。 |
| 批次大小 | 对于知识集市，批次大小是指每次批量请求中加载的文档数量。<br><br>对于基于文件的知识集市，批次大小是指每个批量请求中加载的文件数量。<br><br>在 Snowflake 和 Databricks 上，不需要批次大小，因为所有内容都在一次查询中加载。 |
| 要加载的最大记录数 | 0 表示将所有记录加载。 |

此表描述了 Snowflake 的视图视图选项卡的设置

| 设置 | 描述 |
| --- | --- |
| 标准视图 | 使用标准视图显示查询结果，其形式类似表。 |
| Snowflake 安全视图 | 将 Snowflake 安全视图用于为数据隐私或敏感信息保护指定的视图，例如为限制对不应向基础表的所有用户公开的敏感数据的访问而创建的视图。<br><br>Snowflake 安全视图的执行速度可能比标准视图慢。 |

此表描述了测试助手测试助手选项卡的设置。

| 设置 | 描述 |
| --- | --- |
| 上下文中的文档数 | 将作为上下文传递给模型的相关文档的数量。 |
| 提示模板 | 输入 AI 筛选要包含的文件时必须遵循的模板。 |
| 筛选器 | 输入表达式以筛选要纳入的文件。<br><br>由于筛选器基于元数据，而基于文件的知识集市没有元数据，因此要仔细考虑配置的筛选器。排除数据而不是纳入数据可能更有意义。<br><br>有关更多信息，请参阅[使用测试助手](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/KnowledgeMart/Test-Assistant.htm)。 |
| 文档检索 | 从下拉列表中选择选项：<br><br><ul><li><span>显示检索到的上下文</span>：测试助手提供用来生成答案的文档。</li><li><span>不显示检索到的上下文</span>：测试助手生成答案，但是不提供文档。</li></ul> |
| 回答生成 | 从下拉列表中选择选项：<br><br><ul><li><span>生成答案</span>：测试助手根据文档来生成答案。</li><li><span>不生成答案</span>：测试助手只用文档作答。</li></ul> |