如需在 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 数据架构参考文档。
准备工作
在创建医疗保健搜索应用之前,请满足以下要求:
了解医疗保健搜索应用与数据存储区之间的关系。 如需了解详情,请参阅应用和数据存储区简介。
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 项目中,也可以位于其他项目中。
- 使用
dataStores.create
方法创建医疗保健数据存储区。 - 使用
documents.import
方法在 Cloud Healthcare API 中指定 FHIR 存储区并导入 FHIR 数据。 - 使用
engines.create
方法创建医疗保健搜索应用并指定现有的医疗保健数据存储区。
- 使用
如需创建医疗保健搜索应用,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Agent Builder 页面。
在应用页面上,点击 add_box 新应用。
在创建应用页面上,点击“医疗保健搜索”下方的创建。
在搜索应用配置窗格中,选择医疗保健。
如需为此应用开启高级 LLM 功能,请点击高级 LLM 功能切换开关。
启用高级 LLM 功能可获取搜索摘要,即对前一个或多个搜索结果的简短摘要。
启用 LLM 功能后,受支持的功能最多可能需要 5 分钟才可使用。
在您的应用名称字段中,输入应用的名称。
在贵公司或组织的外部名称字段中,输入贵公司或组织的通用名称。您无需添加 Inc 或 LLC 等后缀。此字段对 LLM 来说非常有用,可用于识别应用所代表的公司。
点击继续。
如需连接到数据存储区,请在数据存储区页面上执行以下任一操作:
- 选择现有的医疗保健数据存储区以进行批量导入,或选择现有的数据连接器以进行流式导入。如需在创建应用之前创建数据存储区或数据连接器,请参阅创建医疗保健数据存储区。
- 创建数据存储区(适用于一次性批量导入)或数据连接器(即数据存储区的实例,适用于流式导入):
- 点击 add_box 创建数据存储区。
- 在选择数据源窗格中,选择 Healthcare API (FHIR) 作为数据源。
- 如需从 FHIR 存储区导入数据,请执行以下操作之一:
- 从可用 FHIR 存储区列表中选择 FHIR 存储区:
- 展开 FHIR 存储区字段。
- 在此列表中,选择位于允许的位置中的数据集,然后选择使用 FHIR 版本 R4 的 FHIR 存储区。
如需流式传输 FHIR 数据(预览版),您的源 FHIR 存储区必须与目标 Vertex AI Search 数据存储区位于同一 Google Cloud 项目中。
- 手动进入 FHIR 存储区:
- 展开 FHIR 存储区字段。
- 点击手动输入 FHIR 存储区。
- 在 FHIR 存储区名称对话框中,按以下格式输入 FHIR 存储区的全名:
project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
- 点击保存。
- 从可用 FHIR 存储区列表中选择 FHIR 存储区:
- 在同步部分,选择以下选项之一。
数据存储区创建后,此选择将无法更改。
- 一次性:执行一次性批量数据导入。如需进一步了解增量导入,请参阅刷新健康数据。
- 流式传输:用于执行近乎实时的流式数据导入。如需流式传输数据,您必须创建数据连接器,这是一种数据存储区类型。这是预览版功能。如需使用 REST API 设置流式数据存储区,请与您的客户工程师联系。
- 在此数据采用什么架构?部分,选择以下选项之一:
- Google 预定义架构:用于保留 Google 为受支持的 FHIR 资源和元素定义的架构配置,例如可编入索引性、可搜索性和可检索性。选择此选项后,您将无法在创建数据存储区后更新架构。如果您希望能够在创建数据存储区后更改架构,请选择自定义架构(预览版)选项。
- 点击继续。
- 在您的数据存储区名称字段中,输入数据存储区的名称。
- 点击创建。
您创建的数据存储区会显示在数据存储区页面上。
- 自定义架构(预览版):用于为受支持的 FHIR 资源和元素定义自己的架构配置,例如可编入索引性、可搜索性和可检索性。这是预览版功能。如需设置可配置的架构,请与您的客户工程师联系。
- 点击继续。
- 查看架构、展开每个字段,然后修改字段设置。
- 点击添加新字段,在受支持的 FHIR 资源中添加新字段。您无法移除 Google 定义的架构中提供的字段。
- 点击继续。
- 在您的数据连接器名称字段中,为数据连接器输入名称。
- 点击创建。
您创建的数据连接器会显示在数据存储区页面上。 源 FHIR 存储区会作为数据连接器中的实体添加。
- Google 预定义架构:用于保留 Google 为受支持的 FHIR 资源和元素定义的架构配置,例如可编入索引性、可搜索性和可检索性。选择此选项后,您将无法在创建数据存储区后更新架构。如果您希望能够在创建数据存储区后更改架构,请选择自定义架构(预览版)选项。
- 点击继续。
- 选择创建的数据存储区或数据连接器。
可选:如需查看不可用的存储空间列表,请点击了解原因。
系统会显示一个表格,其中列出了数据存储区及其不可用的原因。以下是数据存储区可能不可用的一些原因:
- 您的数据存储区类型仅允许与一个应用关联,并且该数据存储区已关联。
- 您的数据存储区和应用的类型不同。例如,您无法将网站搜索数据存储区连接到医疗保健搜索应用。
点击创建。
如果应用及其数据存储区成功创建,数据存储区详情页面会显示导入的 FHIR 数据的详细信息。
REST
- 创建医疗保健数据存储区并将医疗保健数据导入其中。
创建一个医疗保健搜索应用并将其连接到数据存储区。医疗保健搜索应用只能连接到一个数据存储区,而给定的数据存储区可以连接到多个应用。
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
方法获取医疗保健数据存储区详细信息。
如需验证数据存储区创建和数据导入,请完成以下步骤。
控制台
在 Google Cloud 控制台中,前往 Agent Builder 页面。
在应用页面上,验证您创建的应用是否在应用列表中。
验证您与应用关联的数据存储区是否列在已关联的数据存储区列中。
选择数据存储区,然后验证数据存储区详细信息。
REST
验证应用创建情况。
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。