O serviço Vertex AI Translation permite traduzir textos escritos em um idioma para qualquer um dos outros idiomas com suporte.
Nesta página, mostramos como traduzir um texto de amostra usando a API Vertex AI Translation no appliance isolado do Google Distributed Cloud (GDC, na sigla em inglês).
Antes de começar
Antes de começar a usar a API Vertex AI Translation, você precisa ter um projeto com a API ativada e as credenciais adequadas. Também é possível instalar bibliotecas de cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte Configurar um projeto de tradução.
Traduzir texto
O método translateText recebe um texto de entrada em um idioma específico e retorna o texto traduzido para outro idioma. É possível inserir texto simples ou HTML como entrada.
Se você inserir texto HTML, o método translateText vai traduzir apenas o texto entre as tags HTML, sem traduzir as tags. No entanto, ele traduz atributos em tags HTML5, como atributos alt. Um exemplo de uso de tags e atributos HTML5
é usado na sintaxe para excluir texto da tradução.
A saída mantém as tags HTML não traduzidas e inclui o texto traduzido entre elas.
Faça uma solicitação curl para a API pré-treinada da Vertex AI Translation. Caso contrário, interaja com a API pré-treinada da Vertex AI Translation de um script Python para traduzir texto de um idioma para outro.
Os exemplos a seguir mostram como traduzir um texto de entrada de um idioma para outro:
curl
Siga estas etapas para fazer uma solicitação curl:
Faça a solicitação:
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"]}'
Substitua:
TOKEN: o token de autenticação que você recebeu.ENDPOINT: o endpoint da Vertex AI Translation que você usa na sua organização. Para mais informações, consulte Status e endpoints do serviço.PROJECT_ID: o ID do projeto.SOURCE_LANGUAGE: o código do idioma do texto de entrada. Consulte a lista de idiomas com suporte e os respectivos códigos de idioma.TARGET_LANGUAGE: o código do idioma para o qual você quer traduzir o texto. Consulte a lista de idiomas com suporte e os respectivos códigos de idioma.INPUT_TEXT: o texto de entrada no idioma de origem.
Use o campo mime_type para especificar um tipo de arquivo. Defina o campo mime_type como um dos seguintes valores:
text/plain: a entrada é texto simples.text/html: a entrada é texto HTML.
Se o campo mime_type estiver vazio, text/html será o valor padrão.
O exemplo a seguir usa o 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"]}'
A saída retorna o texto traduzido.
Python
Siga estas etapas para usar o serviço Vertex AI Translation em um script Python:
Instale a versão mais recente da biblioteca de cliente da Vertex AI Translation.
Defina as variáveis de ambiente necessárias em um script Python.
Adicione o código a seguir ao script Python que você criou:
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)Substitua:
ENDPOINT: o endpoint da Vertex AI Translation que você usa na sua organização. Para mais informações, consulte Status e endpoints do serviço.PROJECT_ID: o ID do projeto.SOURCE_LANGUAGE: o código do idioma do texto de entrada. Consulte a lista de idiomas com suporte e os respectivos códigos de idioma.TARGET_LANGUAGE: o código do idioma para o qual você quer traduzir o texto. Consulte a lista de idiomas com suporte e os respectivos códigos de idioma.INPUT_TEXT: o texto de entrada no idioma de origem.
Use o campo
mime_typepara especificar um tipo de arquivo. Defina o campomime_typecomo um dos seguintes valores:text/plain: a entrada é texto simples.text/html: a entrada é texto HTML.
Se o campo
mime_typeestiver vazio,text/htmlserá o valor padrão.Salve o script Python.
Execute o script Python para traduzir o texto:
python SCRIPT_NAMESubstitua
SCRIPT_NAMEpelo nome que você deu ao script Python, comotranslation.py.
Excluir texto da tradução
Use uma das seguintes tags HTML no campo contents das solicitações para excluir partes do texto da tradução:
<span translate="no">"TEXT"</span><span class="notranslate">"TEXT"</span>
Substitua TEXT pela parte do texto que você quer excluir da tradução.
Por exemplo, se você tiver o seguinte texto de entrada em francês:
Bonjour, c'est un test.
Esse texto é traduzido para o inglês como a seguinte frase:
Hello, this is a test.
Suponha que você só queira traduzir a seguinte parte do texto, excluindo Bonjour, do texto de entrada:
c'est un test.
Essa parte do texto é traduzida para o inglês como a seguinte frase:
this is a test.
Use as tags HTML para excluir texto da tradução. Por exemplo, a
solicitação curl a seguir usa a tag <span class="notranslate">"TEXT"</span>
para excluir Bonjour, do texto de entrada anterior em francês ao traduzir
o texto para o 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
O método detectLanguage retorna o idioma de uma string de texto enviando uma solicitação HTTP.
Por exemplo, a solicitação a seguir detecta o inglês como o idioma do 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"}'
Receber idiomas com suporte
O método supportedLanguages retorna a lista de idiomas com suporte da API Vertex AI Translation.
Por exemplo, a solicitação a seguir retorna os idiomas com suporte especificando o endpoint da 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 conferir a lista completa de idiomas com suporte, consulte Idiomas com suporte da Vertex AI Translation.