连接到 Knowledge Catalog

本文档介绍了 Gemini Enterprise 如何与 Knowledge Catalog 集成,从而为智能体提供只读工具,以便搜索用户有权访问的数据并查找技术和业务背景信息。

您无需创建单独的数据存储区即可连接到 Knowledge Catalog。相反,当您以联合查询模式将 BigQuery、Spanner、Cloud SQL 或 AlloyDB for PostgreSQL 数据存储区连接到 Gemini Enterprise 应用时,知识目录集成会自动启用。知识目录不会显示为数据存储区,而是 Gemini Enterprise 应用助理标签页上的配置选项。您还可以随时手动开启或关闭集成,即使在配套的数据云连接器之外也是如此。

Knowledge Catalog 和 Data Cloud 连接器如何协同工作

在 Knowledge Catalog 中,Google Cloud 环境中的每个编目数据资产都以元数据记录(称为条目)的形式存储。由于联合查询模式下的 Data Cloud 连接器可以广泛访问经过身份验证的用户可以查看的所有资源,而不仅仅限于单个数据集或表,因此代理最初并不知道相关数据位于何处。

为 Gemini Enterprise 应用启用 Knowledge Catalog 后(在关联联邦 Data Cloud 连接器时自动启用,或在助理标签页上手动启用),集成功能会为智能体提供内置技能和只读工具,以便执行以下操作:

  • 搜索可访问的数据:在 Knowledge Catalog 中搜索经过编目的数据资产,前提是经过身份验证的用户有权访问这些数据资产。
  • 查找技术和业务上下文:检索丰富的元数据,包括表架构、列说明、业务术语库术语和预先验证的示例查询(黄金查询)。与配套的数据云连接器搭配使用时,该代理会使用这些黄金查询来防止复杂架构上的联接幻觉,并将此上下文传递给连接器以生成并运行准确的查询。

工作流示例

下图展示了知识目录和联邦数据云连接器如何协同工作来回答用户的问题:

图表:显示了从用户问题到 Knowledge Catalog 语义搜索和上下文检索,再到 BigQuery SQL 查询执行的四步工作流程。

在此工作流中,Gemini Enterprise 会完成以下步骤:

  1. 用户问题:用户在 Gemini Enterprise 中以自然语言提出问题:

    "How many sales did we have this month for all cold weather products?"
    
  2. 语义搜索发现:Gemini Enterprise 根智能体使用从用户问题中提取的搜索字词搜索 Knowledge Catalog:

    ["cold weather", "products", "orders", "sales"]
    
  3. 上下文检索:对于用户有权访问的匹配条目,代理会在 Knowledge Catalog 中查找丰富的上下文(从技术元数据、使用模式、业务术语库和 LLM 推理中派生):

    simpleName: my-project.ecomm.products
    type: BigQuery Table
    terms: "Cold Weather Products; category IN ('Sweaters', 'Coats & Jackets')"
    
  4. 查询执行:使用检索到的表元数据和业务定义,智能体通过联合 BigQuery 连接器制定并执行只读 SQL 查询:

    -- Execute BigQuery read-only SQL
    SELECT COUNT(order_id) FROM `my-project.ecomm.orders`
    WHERE product_id IN (
      SELECT id FROM `my-project.ecomm.products`
      WHERE category IN ('Sweaters', 'Coats & Jackets')
    );
    

准备工作

Knowledge Catalog 集成是只读的,并且使用内部 API,因此您无需启用 Dataplex API 或授予 MCP 工具权限,用户也无需获得在 Knowledge Catalog 中创建或修改资源的权限。

由于集成使用最终用户凭据对请求进行身份验证,因此代理只能查找和发现经过身份验证的用户有权查看的数据资产(即拥有 Identity and Access Management [IAM] 权限):

  • 通过剪裁搜索结果来分离元数据和数据访问权限:Knowledge Catalog 会根据经过身份验证的用户在底层数据源中的权限强制执行搜索结果剪裁。如果用户对数据集或表缺少读取权限(例如 roles/bigquery.dataViewer 或 roles/bigquery.metadataViewer),系统会自动从目录搜索结果中过滤掉相应资产,并且助理无法发现该资产。
  • 第一方 Google Cloud 数据源:第一方数据源(例如 BigQuery、AlloyDB for PostgreSQL、Spanner 和 Cloud SQL)的权限会自动继承。例如,向用户授予 BigQuery Data Viewer (roles/bigquery.dataViewer) 角色后,他们便可以在 Knowledge Catalog 中搜索和发现相应的表和数据集元数据。
  • 其他元数据和第三方数据源:对于添加到 Knowledge Catalog 中的自定义元数据、业务术语库或第三方数据资产,请确保用户在 Knowledge Catalog 中拥有所需的查看权限(例如 roles/dataplex.dataDomainEntryReader 或 roles/dataplex.catalogViewer),以便代理可以发现相应数据。如需了解详情,请参阅 Knowledge Catalog 文档中的使用 IAM 管理访问权限。

在应用中启用或停用 Knowledge Catalog

当您以联合查询模式将 BigQuery、Spanner、Cloud SQL 或 AlloyDB for PostgreSQL 数据存储区附加到 Gemini Enterprise 应用时,系统会自动为该应用启用 Knowledge Catalog 及其内置的智能体 skill。

您还可以随时手动开启或关闭知识目录集成,即使在配套的数据云连接器之外也是如此(例如,在不附加数据云连接器的情况下启用知识目录,或在保持数据云连接器处于活动状态的情况下关闭知识目录)。为此,请在应用的配置页面的助理标签页中执行相应操作:

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面。

    Gemini Enterprise

  2. 点击要配置的应用的名称。

  3. 点击配置,然后选择助理标签页。

  4. 在启用 Knowledge Catalog 部分中,使用切换开关开启或关闭 Knowledge Catalog 集成。

  5. 点击 Save and publish(保存并发布)。

如需详细了解助理设置,请参阅配置助理。

后续步骤