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 dispositivo isolado do Google Distributed Cloud (GDC).
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_typepara especificar um tipo de arquivo. Defina o campomime_typecomo um dos seguintes valores:text/plain: sua entrada é texto simples.text/html: sua entrada é um texto em 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 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 com 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:
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 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"}'
Conferir os idiomas disponí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.