创建医疗保健搜索应用

如需在 Vertex AI Search 中搜索临床数据,您可以按照以下任一工作流程操作:

  • 创建一个医疗保健数据存储区,将 FHIR R4 数据导入该数据存储区,将其连接到医疗保健搜索应用,然后查询临床数据。如需了解详情,请参阅创建医疗保健数据存储空间
  • 创建一个医疗保健搜索应用,创建一个医疗保健数据存储区,并在应用创建过程中将 FHIR R4 数据导入该数据存储区,然后查询临床数据。

本页介绍了第二种方法。

数据导入频率简介

您可以通过以下方式将 FHIR R4 数据导入数据存储区:

  • 批量导入:一次性导入。数据会导入到数据存储区。如需进一步增量导入,请参阅刷新医疗保健数据

  • 流式导入(预览版):近乎实时流式数据导入。源 FHIR 存储区中的任何增量更改都会同步到 Vertex AI Search 数据存储区。流式传输需要使用数据连接器,这是一种包含实体的数据存储区。实体也是数据存储区实例。

    给定 Google Cloud 项目的数据流式传输速率取决于以下配额。如果超出配额,您可能会遇到流式传输延迟。

    • 每分钟待处理的 FHIR 或 BigQuery 流式写入操作的数量。 如需了解详情,请参阅配额和限制
    • 每个区域每分钟的 FHIR 读取操作数。如需了解详情,请参阅 Cloud Healthcare API FHIR 配额

您可以在创建数据存储区时选择数据导入频率,之后便无法更改此配置。

流式导入适用于 Vertex AI Search 支持的所有资源。如需了解详情,请参阅 Healthcare FHIR R4 数据架构参考文档

准备工作

在创建医疗保健搜索应用之前,请满足以下要求:

  • 了解医疗保健搜索应用与数据存储区之间的关系。 如需了解详情,请参阅应用和数据存储区简介

  • 准备 FHIR 数据以进行提取

  • Vertex AI Search for Healthcare 仅在美国多区域 (us) 提供搜索服务。因此,您的医疗保健搜索应用和数据存储区必须位于 us 多区域。

创建应用

您可以在 Google Cloud 控制台中或使用 API 创建医疗保健搜索应用。这两种方法的不同体现在以下方面:

  • 在 Google Cloud 控制台中:在 Cloud Healthcare API 中选择来源 FHIR 存储区,并在创建医疗搜索应用的过程中导入 FHIR 数据。如需流式传输 FHIR 数据(预览版),您的源 FHIR 存储区必须与目标 Vertex AI Search 应用位于同一 Google Cloud 项目中。
  • 通过 REST API:您可以从 Cloud Healthcare API FHIR 存储区导入 FHIR 数据。 FHIR 存储区可以位于同一 Google Cloud 项目中,也可以位于其他项目中。
    1. 使用 dataStores.create 方法创建医疗保健数据存储区。
    2. 使用 documents.import 方法在 Cloud Healthcare API 中指定 FHIR 存储区并导入 FHIR 数据。
    3. 使用 engines.create 方法创建医疗保健搜索应用并指定现有的医疗保健数据存储区。

如需创建医疗保健搜索应用,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

    Agent Builder

  2. 应用页面上,点击 新应用

  3. 创建应用页面上,点击“医疗保健搜索”下方的创建

  4. 搜索应用配置窗格中,选择医疗保健

  5. 如需为此应用开启高级 LLM 功能,请点击高级 LLM 功能切换开关。

    启用高级 LLM 功能可获取搜索摘要,即对前一个或多个搜索结果的简短摘要。

    启用 LLM 功能后,受支持的功能最多可能需要 5 分钟才可使用。

  6. 您的应用名称字段中,输入应用的名称。

  7. 贵公司或组织的外部名称字段中,输入贵公司或组织的通用名称。您无需添加 Inc 或 LLC 等后缀。此字段对 LLM 来说非常有用,可用于识别应用所代表的公司。

  8. 点击继续

  9. 如需连接到数据存储区,请在数据存储区页面上执行以下任一操作:

    • 选择现有的医疗保健数据存储区以进行批量导入,或选择现有的数据连接器以进行流式导入。如需在创建应用之前创建数据存储区或数据连接器,请参阅创建医疗保健数据存储区
    • 创建数据存储区(适用于一次性批量导入)或数据连接器(即数据存储区的实例,适用于流式导入):
      1. 点击 创建数据存储区
      2. 选择数据源窗格中,选择 Healthcare API (FHIR) 作为数据源。
      3. 如需从 FHIR 存储区导入数据,请执行以下操作之一:
        • 从可用 FHIR 存储区列表中选择 FHIR 存储区:
          1. 展开 FHIR 存储区字段。
          2. 在此列表中,选择位于允许的位置中的数据集,然后选择使用 FHIR 版本 R4 的 FHIR 存储区。

            如需流式传输 FHIR 数据(预览版),您的源 FHIR 存储区必须与目标 Vertex AI Search 数据存储区位于同一 Google Cloud 项目中。

        • 手动进入 FHIR 存储区:
          1. 展开 FHIR 存储区字段。
          2. 点击手动输入 FHIR 存储区
          3. FHIR 存储区名称对话框中,按以下格式输入 FHIR 存储区的全名:

            project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID

          4. 点击保存
      4. 同步部分,选择以下选项之一。 数据存储区创建后,此选择将无法更改。
        • 一次性:执行一次性批量数据导入。如需进一步了解增量导入,请参阅刷新健康数据
        • 流式传输:用于执行近乎实时的流式数据导入。如需流式传输数据,您必须创建数据连接器,这是一种数据存储区类型。这是预览版功能。如需使用 REST API 设置流式数据存储区,请与您的客户工程师联系。
      5. 此数据采用什么架构?部分,选择以下选项之一:
        • Google 预定义架构:用于保留 Google 为受支持的 FHIR 资源和元素定义的架构配置,例如可编入索引性、可搜索性和可检索性。选择此选项后,您将无法在创建数据存储区后更新架构。如果您希望能够在创建数据存储区后更改架构,请选择自定义架构(预览版)选项。
          1. 点击继续
          2. 您的数据存储区名称字段中,输入数据存储区的名称。
          3. 点击创建
          4. 您创建的数据存储区会显示在数据存储区页面上。

        • 自定义架构(预览版):用于为受支持的 FHIR 资源和元素定义自己的架构配置,例如可编入索引性、可搜索性和可检索性。这是预览版功能。如需设置可配置的架构,请与您的客户工程师联系。
          1. 点击继续
          2. 查看架构、展开每个字段,然后修改字段设置。
          3. 点击添加新字段,在受支持的 FHIR 资源中添加新字段。您无法移除 Google 定义的架构中提供的字段。
          4. 点击继续
          5. 您的数据连接器名称字段中,为数据连接器输入名称。
          6. 点击创建
          7. 您创建的数据连接器会显示在数据存储区页面上。 源 FHIR 存储区会作为数据连接器中的实体添加。

      6. 点击继续
      7. 选择创建的数据存储区或数据连接器。
  10. 可选:如需查看不可用的存储空间列表,请点击了解原因

    系统会显示一个表格,其中列出了数据存储区及其不可用的原因。以下是数据存储区可能不可用的一些原因:

    • 您的数据存储区类型仅允许与一个应用关联,并且该数据存储区已关联。
    • 您的数据存储区和应用的类型不同。例如,您无法将网站搜索数据存储区连接到医疗保健搜索应用。
  11. 点击创建

    如果应用及其数据存储区成功创建,数据存储区详情页面会显示导入的 FHIR 数据的详细信息。

REST

  1. 创建医疗保健数据存储区并将医疗保健数据导入其中
  2. 创建一个医疗保健搜索应用并将其连接到数据存储区。医疗保健搜索应用只能连接到一个数据存储区,而给定的数据存储区可以连接到多个应用。

    curl -X POST\
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json"\
     -H "X-Goog-User-Project: PROJECT_ID" \
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines?engineId=APP_ID" \
     -d '{
        "displayName": "APP_DISPLAY_NAME",
        "dataStoreIds":"DATA_STORE_ID",
        "industryVertical": "HEALTHCARE_FHIR",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "searchEngineConfig": {
          "searchTier": "SEARCH_TIER_STANDARD",
          "searchAddOns": ["SEARCH_ADD_ON"]
        }
    }'
    

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • APP_ID:您要创建的 Vertex AI Search 应用的 ID。
    • APP_DISPLAY_NAME:您要创建的 Vertex AI Search 应用的显示名称。
    • DATA_STORE_ID:您要添加到 Vertex AI Search 应用中的现有 Vertex AI Search 数据存储区的 ID。
    • SEARCH_ADD_ON:一个可选字段,用于指定您是否希望为此应用启用高级 LLM 功能(例如使用生成式 AI 回答进行搜索)。如需启用高级 LLM 功能,请输入值 SEARCH_ADD_ON_LLM。 如果您不希望使用高级 LLM 功能,请指定 SEARCH_ADD_ON_UNSPECIFIED 或移除 searchAddOns 字段。 如需了解详情,请参阅高级 LLM 功能

验证应用创建情况

本任务将向您展示如何验证是否成功创建了医疗保健搜索应用,以及 FHIR 数据是否已成功导入数据存储区。

  • 在 Google Cloud 控制台中:选择相应应用并验证其详细信息。
  • 通过 REST API,使用 engines.get 方法获取医疗保健数据存储区详细信息。

如需验证数据存储区创建和数据导入,请完成以下步骤。

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

    Agent Builder

  2. 应用页面上,验证您创建的应用是否在应用列表中。

  3. 验证您与应用关联的数据存储区是否列在已关联的数据存储区列中。

  4. 选择数据存储区,然后验证数据存储区详细信息

REST

  1. 验证应用创建情况。

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json"\
     -H "X-Goog-User-Project: PROJECT_ID" \
     "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID"
    

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • APP_ID:Vertex AI Search 应用的 ID。
  2. 验证数据存储区创建和 FHIR 数据导入

后续步骤