O serviço de tradução da Vertex AI no dispositivo com isolamento físico do Google Distributed Cloud (GDC) permite
traduzir texto simples e HTML entre
idiomas compatíveis.
É possível enviar solicitações para a API Vertex AI Translation usando curl ou a
biblioteca de cliente do Python. A API também oferece métodos para detectar idiomas de origem
e listar idiomas com suporte.
Antes de começar
Antes de começar a usar a API Vertex AI Translation, é preciso ter um projeto com a API Vertex AI Translation ativada e as credenciais apropriadas. Também é possível instalar bibliotecas de cliente para ajudar você 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 usando
um script Python para traduzir textos 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, confira o status e os 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 disponíveis e os respectivos códigos.TARGET_LANGUAGE: o código do idioma para o qual você quer traduzir o texto. Consulte a lista de idiomas compatíveis 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 é um texto simples.text/html: a entrada é um 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 da 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 seguinte código 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) 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, confira o status e os 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 disponíveis e os respectivos códigos.TARGET_LANGUAGE: o código do idioma para o qual você quer traduzir o texto. Consulte a lista de idiomas compatíveis 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 é um texto simples.text/html: a entrada é um texto HTML.
Se o campo
mime_typeestiver vazio,text/htmlserá o valor padrão.Salve o script em Python.
Execute o script Python para traduzir o texto:
python SCRIPT_NAMESubstitua
SCRIPT_NAMEpelo nome que você deu ao script do 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.
Em seguida, esse texto é traduzido para o inglês como a seguinte frase:
Hello, this is a test.
Suponha que você queira traduzir apenas a seguinte parte do texto, excluindo
Bonjour, do texto de entrada:
c'est un test.
Essa parte do texto se traduz em inglês para 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 compatíveis
O método supportedLanguages retorna a lista de idiomas compatíveis com a
API Vertex AI Translation.
Por exemplo, a solicitação a seguir retorna os idiomas compatíveis 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, consulte Idiomas compatíveis com a Vertex AI Translation.