Il est possible qu'une partie ou l'ensemble des informations de cette page ne s'appliquent pas au Cloud de confiance S3NS.
Choisir une fonction de traitement du langage naturel
Ce document compare les fonctions de traitement du langage naturel disponibles dans BigQuery ML, à savoir ML.GENERATE_TEXT
, ML.TRANSLATE
et ML.UNDERSTAND_TEXT
.
ML.GENERATE_TEXT
peut également effectuer des tâches que les deux autres fonctions peuvent réaliser, comme illustré dans l'image suivante :
Vous pouvez utiliser les informations de ce document pour vous aider à choisir la fonction à utiliser lorsque les fonctions se chevauchent.
De manière générale, la différence entre ces fonctions est la suivante :
ML.GENERATE_TEXT
est un bon choix pour effectuer des tâches de traitement du langage naturel (TLN) personnalisées à moindre coût. Cette fonction offre une plus grande compatibilité avec les langages, un débit plus rapide et une fonctionnalité de réglage de modèles. Elle fonctionne également avec les modèles multimodaux.
ML.TRANSLATE
est un bon choix pour effectuer des tâches de TLN spécifiques à la traduction lorsque vous devez gérer un taux élevé de requêtes par minute.
ML.UNDERSTAND_TEXT
est un bon choix pour effectuer des tâches TLN compatibles avec l'API Cloud Natural Language.
Modèles compatibles
Les modèles compatibles sont les suivants :
Tâches disponibles
Les tâches suivantes sont acceptées :
Contexte des données
Lorsque vous choisissez la fonction à utiliser, déterminez si vos données peuvent être analysées de manière isolée ou si elles nécessitent davantage de contexte pour appuyer l'analyse.
Si vos données nécessitent davantage de contexte, il est préférable d'utiliser ML.GENERATE_TEXT
avec un modèle Vertex AI, car ces modèles vous permettent de fournir du contexte dans le cadre de la requête que vous envoyez. N'oubliez pas que le contexte supplémentaire lors de l'entrée augmente le nombre de jetons et le coût.
Si vos données peuvent être analysées sans qu'aucun autre contexte ne soit pris en compte par le modèle (par exemple, traduire une chaîne de texte sans savoir pourquoi elle a été écrite), l'utilisation de ML.TRANSLATE
ou ML.UNDERSTAND_TEXT
peut s'avérer être un meilleur choix, à condition que la tâche que vous souhaitez effectuer soit compatible.
Structure de sortie
ML.GENERATE_TEXT
renvoie systématiquement les résultats dans la colonne de sortie ml_generate_text_llm_result
. Vous pouvez également utiliser votre requête pour définir votre structure de sortie. Par exemple, vous pouvez demander au modèle de renvoyer votre résultat au format JSON avec des champs parents et enfants personnalisés, et fournir un exemple de production de ce résultat.
ML.TRANSLATE
et ML.UNDERSTAND_TEXT
produisent le même résultat pour un type de tâche donné et pour chaque appel réussi à l'API. De plus, le résultat de ces fonctions inclut des métadonnées supplémentaires sur leurs résultats. Par exemple, la sortie ML.TRANSLATE
inclut des informations sur la langue d'entrée, et la sortie ML.UNDERSTAND_TEXT
inclut des informations sur l'ampleur du sentiment pour les tâches d'analyse des sentiments. La génération de ces métadonnées est possible avec les modèles Vertex AI, mais cela nécessite un prompt engineering important et n'est pas susceptible de fournir la même précision.
Tarifs
Les tarifs sont les suivants :
Réglage supervisé
Voici les modèles compatibles avec le réglage supervisé :
ML.GENERATE_TEXT
: le réglage supervisé est compatible avec certains modèles.
ML.TRANSLATE
: le réglage supervisé n'est pas compatible.
ML.UNDERSTAND_TEXT
: le réglage supervisé n'est pas compatible.
La multimodalité
La compatibilité de la multimodalité est la suivante :
ML.GENERATE_TEXT
: accepte la saisie de texte et de texte et d'images.
ML.TRANSLATE
: accepte la saisie de texte.
ML.UNDERSTAND_TEXT
: accepte la saisie de texte.
Limite de requêtes par minute (RPM)
Les limites de RPM sont les suivantes :
Limite de jetons
Les limites de jetons sont les suivantes :
Langues disponibles
Les langues compatibles sont les suivantes :
ML.GENERATE_TEXT
: compatible avec les mêmes langues que Gemini ou Embeddings, en fonction du modèle Vertex AI que vous choisissez pour le point de terminaison du modèle BigQuery ML distant. Les modèles de texte PaLM sont compatibles avec les mêmes langues que les modèles d'embeddings.
ML.TRANSLATE
: accepte les langues de l'API Cloud Translation.
ML.UNDERSTAND_TEXT
: accepte les langues de l'API Cloud Natural Language.
Régions concernées
La disponibilité des régions est la suivante :
ML.GENERATE_TEXT
: disponible dans toutes les régions Generative AI pour Vertex AI.
ML.TRANSLATE
: disponible dans les emplacements multirégionaux EU
et US
.
ML.UNDERSTAND_TEXT
: disponible dans les emplacements multirégionaux EU
et US
.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/15 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/15 (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."]]