El servicio de Vertex AI Translation te permite traducir texto escrito en un idioma a cualquiera de los otros idiomas admitidos.
En esta página, se muestra cómo traducir un texto de muestra con la API de Vertex AI Translation en el dispositivo aislado de Google Distributed Cloud (GDC).
Antes de comenzar
Antes de que puedas comenzar a usar la API de Vertex AI Translation, debes tener un proyecto con la API de Vertex AI Translation habilitada y las credenciales adecuadas. También puedes instalar bibliotecas cliente para ayudarte a realizar llamadas a la API. Para obtener más información, consulta Configura un proyecto de traducción.
Traducir texto
El método translateText toma texto de entrada en un idioma determinado y muestra el texto traducido a otro idioma. Puedes ingresar texto sin formato o HTML como entrada.
Si ingresas texto HTML, el método translateText traduce solo el texto entre las etiquetas HTML sin traducir las etiquetas. Sin embargo, traduce atributos en etiquetas HTML5, como atributos alt. Se usa un ejemplo de uso de etiquetas y atributos HTML5
en la sintaxis para excluir texto de la traducción.
El resultado conserva las etiquetas HTML sin traducir y, además, incluye el texto traducido entre ellas.
Realiza una solicitud curl a la API preentrenada de Vertex AI Translation. De lo contrario, interactúa con la API preentrenada de Vertex AI Translation desde una secuencia de comandos de Python para traducir texto de un idioma a otro.
En los siguientes ejemplos, se muestra cómo traducir un texto de entrada de un idioma a otro:
curl
Sigue estos pasos para realizar una solicitud curl:
Realiza la solicitud:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'
Reemplaza lo siguiente:
TOKEN: el token de autenticación que obtuviste.ENDPOINT: Es el extremo de Vertex AI Translation que usas para tu organización. Para obtener más información, consulta el estado del servicio y los extremos.PROJECT_ID: Es el ID del proyecto.SOURCE_LANGUAGE: Es el código de idioma de tu texto de entrada. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.TARGET_LANGUAGE: Es el código de idioma al que deseas traducir tu texto. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.INPUT_TEXT: Es tu texto de entrada en el idioma de origen.
Usa el campo mime_type para especificar un tipo de archivo. Configura el campo mime_type en uno de los siguientes valores:
text/plain: Tu entrada es texto sin formato.text/html: Tu entrada es texto HTML.
Si el campo mime_type está vacío, text/html es el valor predeterminado.
En el siguiente ejemplo, se usa el campo mime_type:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'
El resultado muestra el texto traducido.
Python
Sigue estos pasos para usar el servicio de Vertex AI Translation desde una secuencia de comandos de Python:
Instala la versión más reciente de la biblioteca cliente de Vertex AI Translation.
Configura las variables de entorno necesarias en una secuencia de comandos de Python.
Agrega el siguiente código a la secuencia de comandos de Python que creaste:
from google.cloud import translate import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience = "https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def translate_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return translate.TranslationServiceClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def translate_func(creds): tc = translate_client(creds) req = { "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "mime_type": "text/plain", "contents": ["INPUT_TEXT"] } resp = tc.translate_text(req) print(resp) if __name__=="__main__": creds = main() translate_func(creds)Reemplaza lo siguiente:
ENDPOINT: Es el extremo de Vertex AI Translation que usas para tu organización. Para obtener más información, consulta el estado del servicio y los extremos.PROJECT_ID: Es el ID del proyecto.SOURCE_LANGUAGE: Es el código de idioma de tu texto de entrada. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.TARGET_LANGUAGE: Es el código de idioma al que deseas traducir tu texto. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.INPUT_TEXT: Es tu texto de entrada en el idioma de origen.
Usa el campo
mime_typepara especificar un tipo de archivo. Configura el campomime_typeen uno de los siguientes valores:text/plain: Tu entrada es texto sin formato.text/html: Tu entrada es texto HTML.
Si el campo
mime_typeestá vacío,text/htmles el valor predeterminado.Guarda la secuencia de comandos de Python.
Ejecuta la secuencia de comandos de Python para traducir el texto:
python SCRIPT_NAMEReemplaza
SCRIPT_NAMEpor el nombre que le diste a tu secuencia de comandos de Python, comotranslation.py.
Excluir texto de la traducción
Usa una de las siguientes etiquetas HTML en el campo contents de las solicitudes para excluir partes del texto de la traducción:
<span translate="no">"TEXT"</span><span class="notranslate">"TEXT"</span>
Reemplaza TEXT por la parte del texto que deseas excluir de la traducción.
Por ejemplo, si tienes el siguiente texto de entrada en francés:
Bonjour, c'est un test.
Luego, ese texto se traduce al inglés a la siguiente oración:
Hello, this is a test.
Supongamos que solo deseas traducir la siguiente parte del texto, excluyendo Bonjour, del texto de entrada:
c'est un test.
Esa parte del texto se traduce al inglés a la siguiente oración:
this is a test.
Usa las etiquetas HTML para excluir texto de la traducción. Por ejemplo, la
siguiente solicitud curl usa la <span class="notranslate">"TEXT"</span>
etiqueta para excluir Bonjour, del texto de entrada anterior en francés cuando se traduce
el texto al inglés:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "fr", "target_language_code": "en", "contents": ["<span class=\"notranslate\">\"Bonjour,\"</span>\"c'est un test.\""]}'
Detectar idioma
El método detectLanguage muestra el idioma de una cadena de texto mediante el envío de una solicitud HTTP.
Por ejemplo, la siguiente solicitud detecta el inglés como el idioma del texto de entrada Hello, this is a test:
curl
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "content": "Hello, this is a test"}'
Obtener idiomas admitidos
El método supportedLanguages muestra la lista de idiomas que admite la API de Vertex AI Translation.
Por ejemplo, la siguiente solicitud muestra los idiomas admitidos mediante la especificación del extremo de Vertex AI Translation:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages
Para obtener la lista completa de los idiomas admitidos, consulta Idiomas admitidos para Vertex AI Translation.