Data 360 非结构化数据实战 — 摄取知识文章并构建向量搜索索引

非结构化数据是 AI 与自动化的重要知识源。本实战项目带你三步完成 Data 360 非结构化数据处理:连接外部 Blob 存储的 UDLO/UDMO、从 Salesforce CRM 摄取知识文章数据,以及分块、向量化并创建向量搜索索引配置 My_kav,最终在 Flow Builder、Agentforce 和 Tableau 中使用向量搜索增强 AI、分析与自动化能力。...

📅 2026/2/28 ✍️ ponybai 🏷️ headless-360, salesforce, data-360

一、开始使用 Data 360 中的非结构化数据

什么是非结构化数据?

组织收集的数据通常有三种形式——结构化、半结构化和非结构化。组织收集的非结构化数据占比越来越大,但实际有效利用的却只占很小一部分。大量数据很难有效融入工作流,尤其是用于搜索和检索时。借助 Data 360 对非结构化数据的支持,是时候改变这一现状了。

非结构化数据是没有特定、一致格式、无法轻易存储在典型关系型数据库中的数据。其缺乏结构的特点使它尤其难以搜索或分析。然而,大语言模型(LLM)等 AI 技术可以高效处理非结构化数据,这让许多企业开始将日益庞大的非结构化数据纳入其数据驱动战略。

常见的非结构化数据形式包括:聊天记录、音视频文件、邮件、法律文档以及其他大文本(如书籍)。在 Salesforce 中,非结构化数据的例子包括知识(Knowledge)文章销售通话记录中的数据。

用非结构化数据增强 AI 与自动化

当你在 Data 360 中连接非结构化数据后,就能在生成式 AI(Prompt Builder 和 Agentforce)、自动化(Flow Builder)以及分析(Tableau 和 CRM Analytics)应用中创建以客户为中心的成果。

例如:你可以用知识文章数据生成客户回复来增强服务回复建议,或创建使用历史邮件生成个性化消息的提示模板。也可以使用 Flow Builder 和 Agentforce 向客服代理展示相似案例数据,帮助解决案例或在记录新案例时提供参考。

从外部 Blob 存储连接非结构化数据

Data 360 可以引用 HTML、TXT、PDF 等格式的非结构化数据。由于 Data 360 已支持来自 Amazon S3、Azure Blob Storage 和 Google Cloud Storage 的连接,如果你已经设置好这些连接,只需几次配置点击即可导入非结构化数据。

在外部 Blob 存储和 Data 360 之间创建连接后,你可以通过创建非结构化数据湖对象(UDLO)并将其映射到非结构化数据模型对象(UDMO)来引用非结构化数据。

Data 360 会自动创建 UDLO 和 UDMO 之间的字段级映射,因为两个对象的模式(schema)相同。UDLO 与 UDMO 的关系可以是 1:1 或 N:1——每个 UDLO 最多映射到一个 UDMO,而多个 UDLO 可以映射到同一个 UDMO。

例如,你从多个外部 Blob 存储引用案例录音数据,三个不同的 UDLO(CaseRecordingsFromAWSBucket1、CaseRecordingsFromAWSBucket2、CaseRecordingsfromGCS)映射到一个 UDMO(CaseRecordings)。

注意:Data 360 不导入非结构化数据——UDMO 是从外部 Blob 存储引用它。

注册带 Data 360 的自定义 Playground

要完成本项目,你需要一个包含 Data 360 和示例数据的自定义 Playground

  • 点击 Create Playground
  • 新 org 会自动附加到你的 Trailhead 账户。
  • 记下 org 的到期日期,并在到期前完成本徽章。

此自定义 Playground 专为本徽章的挑战设计,可能不适用于其他徽章。请始终确认使用的是 Trailhead 推荐的 Playground 或特殊 Developer Edition org。

二、摄取知识文章数据

使用知识文章中的产品数据

来自 Salesforce 知识库的知识(Knowledge)文章,由经验丰富的客服代理和内部作者撰写,包含诸如如何将产品恢复出厂设置等流程信息,或产品支持多大存储空间等常见问题。

知识文章在自定义文本字段中同时包含结构化和非结构化数据。这些数据对于扎根(ground)服务回复和针对客户用例进行上下文化的提示非常有用。

从 Salesforce CRM 摄取知识文章数据

在 Data 360 中,你可以使用知识文章数据包(Knowledge article bundle)从 Salesforce org 摄取知识文章数据。该数据包包含到 Data 360 中相关数据模型对象(DMO)的默认映射。

完成以下步骤:

  1. 启动你的 Data Cloud 自定义 Playground。
  2. 点击 App Launcher,输入 data 并点击 Data Cloud 应用。
  3. 在 Data Cloud 中,进入 Data Streams 标签页,点击 New
  4. 选择 Salesforce CRM 数据源,点击 Next
  5. 保持默认 Salesforce org,选择 Knowledge 数据包,点击 Next
  6. 查看数据流中包含的字段(默认选择即可),点击 Next
  7. 查看要部署的新数据流和对象,点击 Deploy

等待几分钟后刷新页面,确保每个数据流的 Last Run Status 显示 Success。要验证工作,选择一个 Knowledge 对象,在 Data Lake Objects 标签页中查看数据湖对象与数据模型对象之间的数据映射。

下一步?

在下一个单元中,你将为知识文章对象创建向量搜索索引配置

三、创建搜索索引配置

用搜索索引配置扎根非结构化数据

在非结构化和结构化数据上扎根搜索,能增强你在 Salesforce 平台上的生成式 AI、分析和自动化工具。扎根的搜索把客户特定数据带入 Agentforce、Tableau 和 Flow Builder 等应用,确保输出精准贴合用户意图和上下文。

要扎根搜索,必须把非结构化数据拆成语义恰当的块(chunks),再从这些块创建向量嵌入——即分块数据的数值表示。分块内容存储在 Data 360 搜索索引中,可被生成式 AI(Prompt Builder 和 Agentforce)、自动化(Flow Builder)和分析(Tableau)应用搜索和使用。

分块非结构化数据

在上一单元中,我们讲了 Data 360 如何通过非结构化数据模型对象(UDMO)引用非结构化数据。你也可以对 UDMO 或任何含文本字段的 DMO(如 Salesforce 知识文章)进行分块(chunk)

当你对 UDMO 或 DMO 分块时,会把它们拆分成可管理、语义上有意义的块。这些文本单元存储在 Data 360 的分块数据模型对象(CDMO,Chunk Data Model Objects)中,CDMO 由数据模型对象或非结构化数据模型对象创建。

理解分块的工作原理

Data 360 支持多种分块策略

  • 基于语义的段落提取(Semantic-based passage extraction):利用 HTML 标签中固有的语义含义,把文档分块为段落。标题(<h1><h2>)、列表(<ul><ol>)或作为小标题的粗体文本(<strong>)等 HTML 元素被视为段落的逻辑边界。
  • 基于窗口的段落提取(Window-based passage extraction):使用 <div><p> 等块级元素,或用换行分隔的原始文本,把文档分块为段落。如果段落不含 HTML,则在句子级别进行提取。

从分块内容创建向量嵌入

Data 360 分块内容后,会创建一个向量嵌入(vector embedding)——即分块内容的数值表示,可被检索或用于 Salesforce 的生成式 AI、自动化或分析应用。

向量嵌入是文本的数值表示,存储词或短语之间的关系。嵌入捕捉内容的语义含义,因此语义相似的内容块具有相似的向量嵌入。这些表示帮助机器高效地处理和理解语言。

在 Data 360 中,向量嵌入由索引数据模型对象(IDMO,Index Data Model Objects)引用。

创建向量搜索索引配置

要让非结构化数据可用于搜索,你需要对它进行分块和向量化——也就是创建一个搜索索引配置

对于任何含文本字段、且字段内容包含用户搜索的信息性概念、叙述或详细描述的数据对象,你都应该创建搜索索引配置。典型例子是 Salesforce 知识文章,或存储在 Amazon S3 等外部 Blob 存储中的其他文本文档(如聊天记录)。

从知识文章创建向量搜索索引配置

在上一单元中,你从 Salesforce CRM 连接器的 Knowledge 数据包创建了数据流和数据湖对象,其中提供了一些示例知识文章。

Knowledge Article Version 对象值得索引,因为你可以用它查询、检索或搜索所有类型文章的不同版本。该对象包含以下应被索引用于搜索的字段:

  • Name:知识文章的名称或标题
  • Description:知识文章的描述或摘要(映射自 Summary)
  • 自定义文本字段:保存非结构化数据的富文本字段(131K 上限)

在高级构建器中创建搜索索引时,可以通过关注字段选择和分块策略来优化搜索索引,以获得更准确的结果。

逐步创建向量搜索索引配置

在 Data 360 org 中完成以下步骤,以通过本单元末尾的挑战。Advanced Setup 让你对分块和向量化选择有更多控制,但本挑战主要使用默认设置。

  1. 启动 Data Cloud Playground。
  2. 从 App Launcher 选择 Data Cloud
  3. 点击 Search Indexes,然后点击 New。(若导航中看不到 Search Index,点击 More 下拉菜单选择 Search Indexes。)
  4. 点击 Advanced Setup,然后点击 Next
  5. 在 Select Source Object 页面,选择 Vector SearchKnowledge Article Version DMO,点击 Next。(如出现错误信息,忽略即可。)
  6. 在 Select Fields to Chunk 页面,点击 Manage Fields
  7. 选择所有字段,点击 Save
  8. 保持默认分块策略,点击 Next
  9. 在 Select a Vectorization Strategy 页面,保持默认向量化策略,点击 Next
  10. 在 Select Related Fields for Search Filtering 页面,不添加任何字段,点击 Next
  11. 在 Search Index Configuration Details 页面,把自动生成的名称替换为 My_kav(API 名称会自动填充)。
  12. 点击 Save

就这样!新的搜索索引配置 My_kav 会列在搜索索引标签页下。

查看 Knowledge Article Version 的 CDMO 和 IDMO

创建搜索索引配置后,其状态会从 Submitted 变为 In-progress(处理源 DMO/UDMO 的数据),如无失败,最终变为 Ready。在索引状态为 Ready 之前,Data Explorer 中看不到任何记录。

知识文章中最有用的内容在 Description 字段中。通常示例文章足够小,每条记录只有一个块——这意味着 Knowledge Article Version 的 CDMO 和 IDMO 中,每条记录对应一个块和一个向量,但更长的内容可能每个 DMO 有更多记录。

查看我们为 Knowledge Article Version DMO 创建的 CDMO 和 IDMO:

  1. 确认搜索索引状态为 Ready
  2. 从 Data Cloud 点击 Data Explorer
  3. 从 Object 下拉菜单选择 Data Model Object
  4. 在 Select an Object 字段选择 My_kav chunk,查看 Data 360 从示例知识文章创建的所有块。
  5. 在 Select an Object 字段选择 My_kav index,查看 Data 360 从示例知识文章创建的所有向量记录。

你可以在整个 Salesforce 中使用搜索索引中的 CDMO 和 IDMO,如 Flow Builder、Agentforce、Prompt Builder,甚至 Tableau。

把非结构化数据连接到 Data 360,能让你在各种客户导向用例中扎根搜索结果。通过分块和向量化这些数据,你可以在 Einstein 生成式 AI 应用、Flow Builder 甚至 Tableau 中使用向量搜索,增强 AI、分析和自动化能力。


文章来源:Trailhead - Unstructured Data in Data 360