El servicio de Vertex AI Translation en el dispositivo aislado de Google Distributed Cloud (GDC) te permite
traducir texto sin formato y HTML entre
idiomas admitidos.
Puedes enviar solicitudes a la API de Vertex AI Translation con curl o la
biblioteca cliente de Python. La API también proporciona métodos para detectar idiomas de origen
y enumerar los idiomas admitidos.
Antes de comenzar
Antes de 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 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 específico y devuelve
el texto traducido a otro idioma. Puedes ingresar texto sin formato o HTML como
entrada.
Si ingresas texto HTML, el método translateText solo traduce el texto
entre las etiquetas HTML sin traducir las etiquetas. Sin embargo, traduce
atributos en etiquetas HTML5, como los atributos alt. En la sintaxis para excluir texto de la traducción, se usa un ejemplo de etiquetas y atributos HTML5.
El resultado conserva las etiquetas HTML sin traducir y, entre ellas, incluye el texto
traducido.
Realiza una solicitud curl a la API de Vertex AI Translation previamente entrenada. De lo contrario, interactúa con la API de Vertex AI Translation previamente entrenada 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 de 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: Es 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 y los extremos del servicio.PROJECT_ID: Es el ID del proyecto.SOURCE_LANGUAGE: Es el código de idioma del 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 el texto. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.INPUT_TEXT: Es el texto de entrada en el idioma de origen.
Usa el campo mime_type para especificar un tipo de archivo. Establece 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, el valor predeterminado es text/html.
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.
Establece 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) 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 y los extremos del servicio.PROJECT_ID: Es el ID del proyecto.SOURCE_LANGUAGE: Es el código de idioma del 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 el texto. Consulta la lista de idiomas admitidos y sus respectivos códigos de idioma.INPUT_TEXT: Es el texto de entrada en el idioma de origen.
Usa el campo
mime_typepara especificar un tipo de archivo. Establece 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, el valor predeterminado estext/html.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.
Excluye 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 con la siguiente oración:
Hello, this is a test.
Supongamos que solo quieres traducir la siguiente parte del texto, sin incluir
Bonjour, del texto de entrada:
c'est un test.
Esa parte del texto se traduce al inglés con 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 etiqueta <span class="notranslate">"TEXT"</span>
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 devuelve el idioma de una cadena de texto enviando una
solicitud HTTP.
Por ejemplo, en la siguiente solicitud, se 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"}'
Obtén los idiomas admitidos
El método supportedLanguages devuelve la lista de idiomas que admite la API de Vertex AI Translation.
Por ejemplo, la siguiente solicitud devuelve los idiomas admitidos especificando el 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 una lista completa de los idiomas compatibles, consulta Idiomas compatibles con Vertex AI Translation.