用于创建基于 Cloud AI 服务的远程模型的 CREATE MODEL 语句

本文档介绍了用于在 BigQuery 中创建基于 Cloud AI 服务的远程模型的 CREATE MODEL 语句。例如,Cloud Natural Language API

CREATE MODEL 语法

{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL}
`project_id.dataset.model_name`
REMOTE WITH CONNECTION `project_id.region.connection_id`
OPTIONS(REMOTE_SERVICE_TYPE = remote_service_type
[, DOCUMENT_PROCESSOR = document_processor]
[, SPEECH_RECOGNIZER = speech_recognizer]
);

CREATE MODEL

在指定的数据集中创建和训练新模型。如果模型名称存在,则 CREATE MODEL 会返回错误。

CREATE MODEL IF NOT EXISTS

仅当指定的数据集中不存在指定的新模型时才会创建和训练此模型。

CREATE OR REPLACE MODEL

在指定的数据集中创建和训练模型,并替换具有相同名称的现有模型。

model_name

所创建或替换的模型的名称。模型名称在数据集中必须具备唯一性:其他模型或表不得使用同一名称。模型名称必须遵循与 BigQuery 表格相同的命名规则。模型名称的要求如下:

  • 最多可以包含 1024 个字符
  • 包含字母(大写或小写)、数字和下划线

model_name 不区分大小写。

如果您未配置默认项目,则必须按以下格式(包括反引号)将项目 ID 附加到模型名称前面:

`[PROJECT_ID].[DATASET].[MODEL]`

例如 `myproject.mydataset.mymodel`。

REMOTE WITH CONNECTION

语法

`[PROJECT_ID].[LOCATION].[CONNECTION_ID]`

BigQuery 使用 Cloud 资源连接与 Cloud AI 服务进行交互。

连接元素如下:

  • PROJECT_ID:包含连接的项目的 ID
  • LOCATION:连接使用的位置。连接必须与包含模型的数据集位于同一位置。
  • CONNECTION_ID:连接 ID,例如 myconnection

    如需查找您的连接 ID,请在 Google Cloud 控制台中查看连接详细信息。连接 ID 是连接 ID 中显示的完全限定连接 ID 的最后一部分的值,例如 projects/myproject/locations/connection_location/connections/myconnection

您需要将 Vertex AI User 角色授予创建模型的项目中的连接服务账号。

示例

`myproject.us.my_connection`

REMOTE_SERVICE_TYPE

语法

REMOTE_SERVICE_TYPE = { 'CLOUD_AI_NATURAL_LANGUAGE_V1' | 'CLOUD_AI_TRANSLATE_V3' | 'CLOUD_AI_VISION_V1' | 'CLOUD_AI_DOCUMENT_V1' | 'CLOUD_AI_SPEECH_TO_TEXT_V2' }

说明

指定用于创建模型的服务:

创建基于 Cloud AI 服务的远程模型后,您可以将该模型与以下某个 BigQuery ML 函数搭配使用,以分析 BigQuery 数据:

示例

REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1'

DOCUMENT_PROCESSOR

此选项标识 REMOTE_SERVICE_TYPE 值为 CLOUD_AI_DOCUMENT_V1 时使用的文档处理器。创建基于 Document AI API 的远程模型时,必须使用此选项。您不能将此选项与任何其他类型的远程模型搭配使用。

Document AI 提供预构建的处理器,用于从各种类型的文档中提取数据分析,例如:

  • 账单
  • 纳税表单
  • 财务报表

并非所有类型的处理器都受支持。受支持的处理器会从文档中提取数据分析,并在处理器库中包含以 Extract 开头的说明。例如账单、工资单和银行对账单解析器。如果您指定的处理器不受支持,CREATE MODEL 语句将失败。

DOCUMENT_PROCESSOR 值必须是以下格式的字符串:

projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION

替换以下内容:

  • PROJECT_NUMBER:包含文档处理器的项目的编号。如需查找此值,请查看处理器详情,查看预测端点,并获取 projects 元素后面的值,例如: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
  • LOCATION:文档处理器使用的位置。如需查找此值,请查看处理器详情,查看预测端点,并获取 locations 元素后面的值,例如: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
  • PROCESSOR_ID:文档处理器 ID。如需查找此值,请查看处理器详情,查看预测端点,并获取 processors 元素后面的值,例如: https://us-documentai.googleapis.com/v1/projects/project_number/locations/processor_location/processors/processor_id:process
  • PROCESSOR_VERSION文档处理器版本。您可以通过以下方式找到此值:查看处理器详情,选择管理版本标签页,并复制要使用的版本的版本 ID 值。

SPEECH_RECOGNIZER

此选项标识 REMOTE_SERVICE_TYPE 值为 CLOUD_AI_SPEECH_TO_TEXT_V2 时可以选择使用的语音识别器。如果您未指定此选项并且引用远程模型,则必须指定 ML.TRANSCRIBE 函数的 recognition_config 参数的值。您不能将此选项与任何其他类型的远程模型搭配使用。

SPEECH_RECOGNIZER 值必须是以下格式的字符串:

projects/PROJECT_NUMBER/locations/LOCATION/recognizers/RECOGNIZER_ID

替换以下内容:

  • PROJECT_NUMBER:包含语音识别器的项目的编号。您可以在 Google Cloud 控制台信息中心页面上的项目信息卡片上找到此值。
  • LOCATION:语音识别器使用的位置。您可以在 Google Cloud 控制台列表识别器页面上的位置字段中找到此值。
  • RECOGNIZER_ID:语音识别器 ID。您可以在 Google Cloud 控制台列表识别器页面上的 ID 字段中找到此值。

示例

以下示例会创建一个使用 Cloud Vision API 的 BigQuery ML 远程模型:

CREATE MODEL `project_id.mydataset.mymodel`
REMOTE WITH CONNECTION `myproject.us.test_connection`
 OPTIONS(REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1')

后续步骤

如需详细了解如何将 Cloud AI 服务与 BigQuery ML 搭配使用,请参阅 AI 应用概览