选择自然语言处理函数

本文档对 BigQuery ML 中提供的自然语言处理函数(即 ML.GENERATE_TEXTML.TRANSLATEML.UNDERSTAND_TEXT)进行了比较。

ML.GENERATE_TEXT 还可以执行其他两个函数可以执行的任务,如以下图片所示:

显示使用 Vertex AI 模型或 Cloud AI 服务的远程模型的常见工作流的示意图。

当函数具有重叠功能时,您可以使用本文档中的信息来帮助确定要使用哪个函数。

概括来讲,这些函数之间的区别如下:

  • ML.GENERATE_TEXT 非常适合以较低的成本执行自定义自然语言处理 (NLP) 任务。此函数提供更多语言支持、更快的吞吐量和模型调优功能,并且还适用于多模态模型。
  • 如果您需要支持每分钟高查询率,ML.TRANSLATE 非常适合执行翻译专用 NLP 任务。
  • ML.UNDERSTAND_TEXT 非常适合执行 Cloud Natural Language API 支持的 NLP 任务

支持的模型

支持的型号如下:

支持的任务

支持的任务如下:

  • ML.GENERATE_TEXT:您可以执行任何 NLP 任务。模型执行的任务取决于您指定的提示。例如,如需执行问答任务,您可以提供类似 CONCAT("What are the key concepts in the following article?: ", article_text) 的提示。您还可以在问题中提供上下文。例如 CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
  • ML.TRANSLATE:您可以执行以下任务:

  • ML.UNDERSTAND_TEXT:您可以执行以下任务:

数据情境

在选择要使用的函数时,请考虑您的数据是否可以单独分析,或者是否需要额外的上下文来支持分析。如果您的数据需要额外的上下文,则最好将 ML.GENERATE_TEXT 与 Vertex AI 模型搭配使用,因为这些模型允许您在提交的提示中提供上下文。请注意,如果将其他上下文作为输入提供,令牌数和费用也会增加。

如果模型可以在不考虑其他上下文的情况下分析数据(例如,在不知道文本写入原因的情况下翻译文本字符串),则使用 ML.TRANSLATEML.UNDERSTAND_TEXT 可能是更好的选择,但前提是支持您要执行的任务。

输出结构

ML.GENERATE_TEXT 会始终在 ml_generate_text_llm_result 输出列中返回结果。您还可以使用问题定义输出结构。例如,您可以指示模型以 JSON 的形式返回结果,并包含自定义父级和子级字段,并提供有关如何生成此结果的示例。

对于给定任务类型,每次成功调用 API 时,ML.TRANSLATEML.UNDERSTAND_TEXT 都会生成相同的输出。此外,这些函数的输出还包含有关其结果的其他元数据。例如,ML.TRANSLATE 输出包含有关输入语言的信息,ML.UNDERSTAND_TEXT 输出包含有关情感分析任务的情感强度的信息。Vertex AI 模型可以生成此元数据,但这需要大量的提示工程,并且不太可能提供相同的精细程度。

价格

价格如下所示:

监督式调优

监督式调优支持如下:

  • ML.GENERATE_TEXT:某些模型支持监督式调优
  • ML.TRANSLATE:不支持监督式调优。
  • ML.UNDERSTAND_TEXT:不支持监督式调优。

多模态

多模态支持如下:

  • ML.GENERATE_TEXT:支持文本和文本 + 图片输入。
  • ML.TRANSLATE:支持文本输入。
  • ML.UNDERSTAND_TEXT:支持文本输入。

每分钟查询次数 (QPM) 限额

QPM 限制如下:

token 限制

令牌限制如下:

支持的语言

支持的语言如下:

  • ML.GENERATE_TEXT:支持与 Gemini嵌入相同的语言,具体取决于您为 BigQuery ML 远程模型端点选择的 Vertex AI 模型。PaLM 文本模型支持与嵌入模型相同的语言。
  • ML.TRANSLATE:支持 Cloud Translation API 语言
  • ML.UNDERSTAND_TEXT:支持 Cloud Natural Language API 语言

区域可用性

推出区域如下:

  • ML.GENERATE_TEXT:适用于所有适用于 Vertex AI 的生成式 AI 区域
  • ML.TRANSLATE:在 EUUS 多区域中提供。
  • ML.UNDERSTAND_TEXT:在 EUUS 多区域中提供。