用于创建基于 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
:包含连接的项目的 IDLOCATION
:连接使用的位置。连接必须与包含模型的数据集位于同一位置。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 Natural Language API
- Cloud Translation API
- Cloud Vision API
- Document AI API(预览版)
- Speech-to-Text API(预览版)
创建基于 Cloud AI 服务的远程模型后,您可以将该模型与以下某个 BigQuery ML 函数搭配使用,以分析 BigQuery 数据:
- 对于 Cloud Natural Language API 模型,请使用
ML.UNDERSTAND_TEXT
- 对于 Cloud Translation API 模型,请使用
ML.TRANSLATE
- 对于 Cloud Vision API 模型,请使用
ML.ANNOTATE_IMAGE
- 对于 Document AI API 模型,请使用
ML.PROCESS_DOCUMENT
(预览版) - 对于 Speech-to-Text API 模型,请使用
ML.TRANSCRIBE
(预览版)
示例
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 应用概览。