Com o serviço de tradução da Vertex AI, é possível traduzir textos escritos em um idioma para qualquer um dos outros idiomas disponíveis.
Nesta página, mostramos como traduzir um texto de amostra usando a API Vertex AI Translation no Google Distributed Cloud (GDC) isolado por ar.
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. Você também pode 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. Você pode 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
à API pré-treinada do Vertex AI Translation. Caso contrário, interaja com a API pré-treinada 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 o status do serviço e os endpoints.PROJECT_ID
: o ID do projeto.SOURCE_LANGUAGE
: o código do idioma do texto de entrada. Confira a lista de idiomas compatíveis e os códigos correspondentes.TARGET_LANGUAGE
: o código do idioma para o qual você quer traduzir o texto. Confira a lista de idiomas aceitos e os respectivos códigos.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
: sua entrada é texto simples.text/html
: sua entrada é um texto em 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 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) 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 o status do serviço e os endpoints.PROJECT_ID
: o ID do projeto.SOURCE_LANGUAGE
: o código do idioma do texto de entrada. Confira a lista de idiomas compatíveis e os códigos correspondentes.TARGET_LANGUAGE
: o código do idioma para o qual você quer traduzir o texto. Confira a lista de idiomas aceitos e os respectivos códigos.INPUT_TEXT
: o texto de entrada no idioma de origem.
Use o campo
mime_type
para especificar um tipo de arquivo. Defina o campomime_type
como um dos seguintes valores:text/plain
: sua entrada é texto simples.text/html
: sua entrada é um texto em HTML.
Se o campo
mime_type
estiver vazio,text/html
será o valor padrão.Salve o script Python.
Execute o script Python para traduzir o texto:
python SCRIPT_NAME
Substitua
SCRIPT_NAME
pelo nome que você deu ao script do Python, comotranslation.py
.
Para mais informações sobre o método translateText
, consulte a biblioteca de cliente Python.
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 espanhol:
Hola, esto es una prueba.
Em seguida, esse texto é traduzido para o inglês com a seguinte frase:
Hello, this is a test.
Suponha que você só queira traduzir a seguinte parte do texto, excluindo
Hola,
do texto de entrada:
esto es una prueba.
Essa parte do texto é traduzida para o inglês como:
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 Hola,
do texto de entrada anterior em espanhol ao traduzir o texto para 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": "es", "target_language_code": "en", "contents": [<span class="notranslate">"Hola,"</span>"esto es una prueba."]}'
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", "contents": ["Hello, this is a test"]}'
Acessar uma operação
O método getOperation
retorna o estado mais recente de uma operação de longa duração.
Use esse método para recuperar o resultado da operação gerado pelo serviço da API Vertex AI Translation. Para usar esse método, especifique o ID do projeto e o endpoint da Vertex AI Translation.
Por exemplo, a solicitação a seguir retorna o estado de uma operação de longa duração, como criar um glossário, que está sendo executada no seu projeto:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID
Listar operações
O método listOperations
retorna uma lista das operações de longa duração
que correspondem a um filtro especificado na solicitação. Para usar esse método, especifique o ID do projeto e o endpoint da Vertex AI Translation.
Por exemplo, a solicitação a seguir retorna a lista de operações em execução no seu projeto e limita o tamanho da página a dez resultados por página:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10
Conferir os idiomas disponíveis
O método getSupportedLanguages
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 POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:getSupportedLanguages -d "{}"
Para conferir a lista completa, consulte Idiomas compatíveis com a Vertex AI Translation.