Es posible que parte de la información de esta página (o toda) no se aplique a Trusted Cloud de S3NS.
Elige una función de procesamiento de lenguaje natural
En este documento, se proporciona una comparación de las funciones de procesamiento de lenguaje natural disponibles en BigQuery ML, que son ML.GENERATE_TEXT
, ML.TRANSLATE
y ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
también puede realizar tareas que las otras dos funciones pueden realizar, como se muestra en la siguiente imagen:
Puedes usar la información de este documento para decidir qué función
usar en los casos en que las funciones tengan capacidades superpuestas.
En términos generales, la diferencia entre estas funciones es la siguiente:
ML.GENERATE_TEXT
es una buena opción para realizar tareas personalizadas de procesamiento de lenguaje natural (PLN) a un costo menor. Esta función ofrece más compatibilidad con idiomas, una capacidad de procesamiento más rápida y la capacidad de ajuste de modelos, y también funciona con modelos multimodales.
ML.TRANSLATE
es una buena opción para realizar tareas de NLP específicas de traducción en las que necesitas admitir una alta tasa de consultas por minuto.
ML.UNDERSTAND_TEXT
es una buena opción para realizar tareas de PNL compatibles con la API de Cloud Natural Language.
Modelos compatibles
Los modelos compatibles son los siguientes:
Tareas admitidas
Las tareas admitidas son las siguientes:
Contexto de datos
Cuando elijas qué función usar, considera si tus datos se pueden analizar de forma independiente o si requieren contexto adicional para respaldar el análisis.
Si tus datos requieren contexto adicional, usar ML.GENERATE_TEXT
con un modelo de Vertex AI es una mejor opción, ya que esos modelos te permiten proporcionar contexto como parte de la instrucción que envías. Ten en
cuenta que proporcionar contexto adicional como entrada aumenta el recuento y el costo de los tokens.
Si tus datos se pueden analizar sin que el modelo considere otro contexto (por ejemplo, traducir una cadena de texto sin saber por qué se escribió), usar ML.TRANSLATE
o ML.UNDERSTAND_TEXT
podría ser una mejor opción, siempre que se admita la tarea que deseas realizar.
Estructura de salida
ML.GENERATE_TEXT
muestra resultados de forma coherente en la columna de salida ml_generate_text_llm_result
. También puedes usar la instrucción para definir la estructura de salida. Por ejemplo, puedes indicarle al modelo que muestre el resultado como JSON con campos superiores e inferiores personalizados, y proporcionar un ejemplo de cómo producir este resultado.
ML.TRANSLATE
y ML.UNDERSTAND_TEXT
producen el mismo resultado para un tipo de tarea determinado para cada llamada correcta a la API. Además, el resultado de estas funciones incluye metadatos adicionales sobre sus resultados. Por ejemplo, el resultado de ML.TRANSLATE
incluye información sobre el idioma de entrada, y el resultado de ML.UNDERSTAND_TEXT
incluye información sobre la magnitud de la opinión para las tareas de análisis de opiniones. Generar estos metadatos es posible con los modelos de Vertex AI, pero esto requiere una ingeniería de instrucciones significativa y es probable que no proporcione el mismo nivel de detalle.
Precios
Los precios se calculan de la siguiente manera:
Ajuste supervisado
La compatibilidad con la optimización supervisada es la siguiente:
ML.GENERATE_TEXT
: El ajuste supervisado es compatible con algunos modelos.
ML.TRANSLATE
: No se admite el ajuste supervisado.
ML.UNDERSTAND_TEXT
: No se admite el ajuste supervisado.
Multimodalidad
La compatibilidad con la multimodalidad es la siguiente:
ML.GENERATE_TEXT
: admite entradas de texto y texto + imagen.
ML.TRANSLATE
: Admite la entrada de texto.
ML.UNDERSTAND_TEXT
: Admite la entrada de texto.
Límite de consultas por minuto (QPM)
Los límites de QPM son los siguientes:
Límite de tokens
Los límites de tokens son los siguientes:
Idiomas admitidos
Los lenguajes admitidos son los siguientes:
ML.GENERATE_TEXT
: admite los mismos lenguajes que Gemini o Embeddings, según el modelo de Vertex AI que elijas para el extremo del modelo remoto de BigQuery ML. Los modelos de texto de PaLM admiten los mismos idiomas que los modelos de Embeddings.
ML.TRANSLATE
: admite los idiomas de la API de Cloud Translation.
ML.UNDERSTAND_TEXT
: admite los idiomas de la API de Cloud Natural Language.
Disponibilidad por región
La disponibilidad por región es la siguiente:
ML.GENERATE_TEXT
: disponible en todas las regiones de IA generativa para Vertex AI.
ML.TRANSLATE
: Disponible en las multirregiones EU
y US
.
ML.UNDERSTAND_TEXT
: Disponible en las multirregiones EU
y US
.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-17 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-17 (UTC)"],[[["\u003cp\u003eBigQuery ML offers three natural language processing (NLP) functions: \u003ccode\u003eML.GENERATE_TEXT\u003c/code\u003e, \u003ccode\u003eML.TRANSLATE\u003c/code\u003e, and \u003ccode\u003eML.UNDERSTAND_TEXT\u003c/code\u003e, each with distinct capabilities.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eML.GENERATE_TEXT\u003c/code\u003e is the most versatile function, allowing for customized NLP tasks, supporting various languages and multimodal models, and offering model tuning, albeit at potentially a higher cost.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eML.TRANSLATE\u003c/code\u003e is specialized for translation tasks, offering high query rates and no token limit, making it suitable when dealing with only translation.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eML.UNDERSTAND_TEXT\u003c/code\u003e is tailored for specific NLP tasks supported by the Cloud Natural Language API, such as sentiment analysis, entity recognition, and text classification.\u003c/p\u003e\n"],["\u003cp\u003eThe choice of function also depends on data context and the need for additional information, with \u003ccode\u003eML.GENERATE_TEXT\u003c/code\u003e better suited for data requiring context and \u003ccode\u003eML.TRANSLATE\u003c/code\u003e or \u003ccode\u003eML.UNDERSTAND_TEXT\u003c/code\u003e better suited when context is not necessary.\u003c/p\u003e\n"]]],[],null,["# Choose a natural language processing function\n=============================================\n\nThis document provides a comparison of the natural language processing functions\navailable in BigQuery ML, which are\n[`ML.GENERATE_TEXT`](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-generate-text),\n[`ML.TRANSLATE`](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-translate),\nand\n[`ML.UNDERSTAND_TEXT`](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-understand-text).\n\n`ML.GENERATE_TEXT` can do tasks that the other two functions can do as well, as\nshown in the following image:\n\nYou can use the information in this document to help you decide which function\nto use in cases where the functions have overlapping capabilities.\n\nAt a high level, the difference between these functions is as follows:\n\n- `ML.GENERATE_TEXT` is a good choice for performing customized natural language processing (NLP) tasks at a lower cost. This function offers more language support, faster throughput, and model tuning capability, and also works with multimodal models.\n- `ML.TRANSLATE` is a good choice for performing translation-specific NLP tasks where you need to support a high rate of queries per minute.\n- `ML.UNDERSTAND_TEXT` is a good choice for performing NLP tasks [supported by the Cloud Natural Language API](#supported_tasks).\n\nSupported models\n----------------\n\nSupported models are as follows:\n\n- `ML.GENERATE_TEXT`: you can use a subset of the Vertex AI [Gemini](/vertex-ai/generative-ai/docs/learn/models#gemini-models) or [PaLM](/vertex-ai/generative-ai/docs/learn/models#palm-models) model to generate text. For more information on supported models, see the [`ML.GENERATE_TEXT` syntax](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-generate-text#syntax).\n- `ML.TRANSLATE`: you use the default model of the [Cloud Translation API](/translate).\n- `ML.UNDERSTAND_TEXT`: you use the default model of the [Cloud Natural Language API](/natural-language).\n\nSupported tasks\n---------------\n\nSupported tasks are as follows:\n\n- `ML.GENERATE_TEXT`: you can perform any NLP task. What task the model performs is based on the prompt you specify. For example, to perform a question answering task, you could provide a prompt similar to `CONCAT(\"What are the key concepts in the following article?: \", article_text)`. You can also provide context as part of the prompt. For example, `CONCAT(\"context: Only output 'yes' or 'no' to the following question: \", question)`.\n- `ML.TRANSLATE`: you can perform the following tasks:\n\n - [`TRANSLATE_TEXT`](/translate/docs/advanced/translating-text-v3)\n - [`DETECT_LANGUAGE`](/translate/docs/advanced/detecting-language-v3)\n- `ML.UNDERSTAND_TEXT`: you can perform the following tasks:\n\n - [`ANALYZE_ENTITIES`](/natural-language/docs/analyzing-entities)\n - [`ANALYZE_ENTITY_SENTIMENT`](/natural-language/docs/analyzing-entity-sentiment)\n - [`ANALYZE_SENTIMENT`](/natural-language/docs/analyzing-sentiment)\n - [`ANALYZE_SYNTAX`](/natural-language/docs/analyzing-syntax)\n - [`CLASSIFY_TEXT`](/natural-language/docs/classifying-text)\n\nData context\n------------\n\nWhen choosing what function to use, consider whether your data can be analyzed\nin isolation, or whether it requires additional context to support the analysis.\nIf your data requires additional context, using `ML.GENERATE_TEXT` with a\nVertex AI model is a better choice, as those models allow you to\nprovide context as part of the prompt you submit. Keep in\nmind that providing additional context as input increases token count and cost.\n\nIf your data can be analyzed without other context being considered by the\nmodel---for example, translating a string of text without knowing why it was\nwritten, then using `ML.TRANSLATE` or `ML.UNDERSTAND_TEXT` might be a better\nchoice, provided that the task you want to perform is supported.\n\nOutput structure\n----------------\n\n`ML.GENERATE_TEXT` consistently returns results in the\n`ml_generate_text_llm_result` output column. You can also\nuse your prompt to define your output structure. For example, you can instruct\nthe model to return your result as JSON with custom parent and child fields,\nand provide an example of how to produce this result.\n\n`ML.TRANSLATE` and `ML.UNDERSTAND_TEXT` produce the same output for a given\ntask type for each successful call to the API. Additionally, the output from\nthese functions includes additional metadata about their results. For example,\n`ML.TRANSLATE` output includes information about the input language, and\n`ML.UNDERSTAND_TEXT` output includes information about the magnitude of the\nsentiment for sentiment analysis tasks. Generating this metadata is possible\nwith the Vertex AI models, but this requires significant prompt\nengineering, and isn't likely to provide the same granularity.\n\nPricing\n-------\n\nPricing is as follows:\n\n- `ML.GENERATE_TEXT`: For pricing of the Vertex AI models that you use with this function, see [Vertex AI pricing](/vertex-ai/generative-ai/pricing). Supervised tuning of supported models is charged at dollars per node hour at [Vertex AI custom training pricing](/vertex-ai/pricing#custom-trained_models).\n- `ML.TRANSLATE`: For pricing of the Cloud AI service that you use with this function, see [Cloud Translation API pricing](/translate/pricing).\n- `ML.UNDERSTAND_TEXT`: For pricing of the Cloud AI service that you use with this function, see [Cloud Natural Language API pricing](/natural-language/pricing).\n\nSupervised tuning\n-----------------\n\nSupervised tuning support is as follows:\n\n- `ML.GENERATE_TEXT`: [supervised tuning](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-create-remote-model#supervised_tuning) is supported for some models.\n- `ML.TRANSLATE`: supervised tuning isn't supported.\n- `ML.UNDERSTAND_TEXT`: supervised tuning isn't supported.\n\nMultimodality\n-------------\n\nMultimodality support is as follows:\n\n- `ML.GENERATE_TEXT`: supports text and text + image input.\n- `ML.TRANSLATE`: supports text input.\n- `ML.UNDERSTAND_TEXT`: supports text input.\n\nQueries per minute (QPM) limit\n------------------------------\n\nQPM limits are as follows:\n\n- `ML.GENERATE_TEXT`: ranges from a [100 to a 1,600 QPM limit in the default `us-central1` region](/vertex-ai/generative-ai/docs/quotas#quotas_by_region_and_model), depending on the model used.\n- `ML.TRANSLATE`: [6,000 QPM limit for v3](/translate/quotas#rate_quotas).\n- `ML.UNDERSTAND_TEXT`: [600 QPM limit](/natural-language/quotas#requests).\n\nToken limit\n-----------\n\nToken limits are as follows:\n\n- `ML.GENERATE_TEXT`: ranges from a [8,192 to a 24,576 token limit](/vertex-ai/generative-ai/docs/learn/models), depending on the model used.\n- `ML.TRANSLATE`: No token limit. However, this function does have a [30,000 bytes limit](/translate/quotas#content-limit).\n- `ML.UNDERSTAND_TEXT`: [100,000 token limit](/natural-language/quotas#content).\n\nSupported languages\n-------------------\n\nSupported languages are as follows:\n\n- `ML.GENERATE_TEXT`: supports the same languages as [Gemini](/vertex-ai/generative-ai/docs/learn/models#languages-gemini) or [Embeddings](/vertex-ai/generative-ai/docs/learn/models#languages-palm), depending on the Vertex AI model you choose for the BigQuery ML remote model endpoint. The PaLM text models support the same languages as the Embeddings models.\n- `ML.TRANSLATE`: supports Cloud Translation API [languages](/translate/docs/languages).\n- `ML.UNDERSTAND_TEXT`: supports Cloud Natural Language API [languages](/natural-language/docs/languages).\n\nRegion availability\n-------------------\n\nRegion availability is as follows:\n\n- `ML.GENERATE_TEXT`: available in all Generative AI for Vertex AI [regions](/vertex-ai/generative-ai/docs/learn/locations#available-regions).\n- `ML.TRANSLATE`: available in the `EU` and `US` [multi-regions](/bigquery/docs/locations#multi-regions).\n- `ML.UNDERSTAND_TEXT`: available in the `EU` and `US` multi-regions."]]