创建知识集市
创建知识集市可以让您将结构化和非结构化数据嵌入并存储在矢量数据库中。这样就可以利用语义搜索特性检索增强的上下文,将其作为检索增强生成 (RAG) 应用程序的上下文。
RAG 通过向 LLM 提供额外查询上下文来优化 LLM 输出。
要求
-
你需要 Qlik Talend Cloud Enterprise 订阅。
-
在 Snowflake 和 Databricks 平台上受支持。Snowflake Iceberg 不受支持。
-
需要客户管理的数据网关。
Databricks 需要 Qlik 数据网关 - 数据移动 版本 2024.11.95 或更高版本。
安装 Qlik 数据网关 - 数据移动
要使用知识集市,需要连接矢量数据库和 LLM 连接,这需要安装特定的 Qlik 数据网关 - 数据移动 。有关更多信息,请参阅设置知识集市的 Qlik 数据网关 - 数据移动。
查看和下载日志
您可以查看和下载知识集市的日志。有关更多信息,请参阅故障排除 数据移动网关。
先决条件
您可以使用以下类型的数据任务作为知识集市的源:
-
存储
-
转换
在创建知识集市之前,您需要在源数据任务中执行以下操作:
配置 Databricks 用于知识集市
如果您使用 Databricks 作为数据平台,则必须在 Databricks 中执行一些配置才能够创建知识集市。
-
在 Databricks 内创建 SQL 仓库。建议使用无服务器计算。
您还必须为 SQL 仓库和无服务器计算配置 数据安全,以启用存储集成。
-
在向量搜索中创建端点。您在知识集市任务的向量数据库设置中引用此端点的名称。
根据您的性能要求选择类型,标准适用于大多数用例。
如果需要,定义一个无服务器使用策略以关联标签进行成本归因。
-
在服务中配置 Databricks 模型。
在服务终结点下,您可使用 Databricks 中提供的 LLM 嵌入和聊天模型。务必验证您计划于数据管道中使用的模型。
您还可为自定义模型创建服务终结点,或使用基础模型,例如 OpenAI 或 Azure OpenAI。
示例:
嵌入模型:databricks-gte-large-en
聊天/补全模型:databricks-meta-llama-3-1-405b-instruct
限制
使用符合所有这些条件的源数据集时存在局限性:
-
通过 SQL 转换或转换流创建
-
非物化
-
历史数据存储(类型 2)已关闭
这些数据集被认为在每次运行时都会更新,这可能会影响效率和成本。您可以通过以下方式缓解这种情况:
-
更改要物化的源数据集。
-
使用显式数据集转换
-
创建转换多个数据集的全局规则。
受支持的编码格式
您的文件必须采用 UTF-8 编码。若使用其他格式,可能会被错误解读。
受支持的字符
文件和文件夹名称可包含以下字符:
- [0-9]、[a-Z]、[A-Z]
- ! - _ . * ' ()
可能还支持其他特殊字符,但由于特殊字符的处理很重要,建议只使用上表中的字符。
关系
-
无法将两个数据集的数据关联起来。创建一个转换任务,在数据模型中定义关系,并将转换任务用做任务的源。
-
当两个数据集在数据模型中关联时,即使只选择了其中一个数据集,任务中也会同时提供这两个数据集。
更改连接或数据网关
如果更改了矢量连接或者矢量数据网关,则必须重新准备任务。
故障排除
文件知识超市无法识别移动至 OneDrive 的文件
可能的原因
如果使用保留旧文件创建和修改日期的选项将文件移动或同步至 OneDrive,则文件不会被识别为新文件。
建议的操作
将文件修改日期更改为当前日期。
使用 Pinecone 时发生运行时错误
可能的原因
Pinecone 不支持元数据列中的 NULL 值。结果将是运行时错误。
建议的操作
-
在知识市场之前的转换中,将 NULL 值转换成其他值,例如空字符串或单词 NULL。
-
使用另一矢量数据库。
-
不要将列用作元数据。