O serviço Vertex AI Translation permite-lhe traduzir texto escrito num idioma para qualquer um dos outros idiomas compatíveis.
Esta página mostra como traduzir um texto de exemplo com a Vertex AI Translation API no Google Distributed Cloud (GDC) air-gapped.
Antes de começar
Antes de poder começar a usar a Vertex AI Translation API, tem de ter um projeto com a Vertex AI Translation API ativada e as credenciais adequadas. Também pode instalar bibliotecas de cliente para ajudar a fazer chamadas para a API. Para mais informações, consulte o artigo Configure um projeto de tradução.
Traduza o texto
O método translateText recebe texto de entrada num determinado idioma e devolve o texto traduzido para outro idioma. Pode introduzir texto simples ou HTML como entrada.
Se introduzir texto HTML, o método translateText traduz apenas o texto entre as etiquetas HTML, sem traduzir as etiquetas. No entanto, traduz atributos em etiquetas HTML5, como atributos alt. É usado um exemplo de utilização de etiquetas e atributos HTML5
na sintaxe para excluir texto da tradução.
A saída retém as etiquetas HTML não traduzidas e inclui o texto traduzido entre elas.
Faça um pedido curl para a Vertex AI Translation API pré-preparada. Em alternativa, interaja com a Vertex AI Translation API pré-preparada a partir de um script Python para traduzir texto de um idioma para outro.
Os exemplos seguintes mostram como traduzir um texto de entrada de um idioma para outro:
curl
Siga estes passos para fazer um pedido curl:
Faça o pedido:
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 o seguinte:
TOKEN: o token de autenticação que obteve.ENDPOINT: o ponto final do Vertex AI Translation que usa para a sua organização. Para mais informações, veja o estado e os pontos finais do serviço.PROJECT_ID: o ID do projeto.SOURCE_LANGUAGE: o código do idioma do texto de entrada. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.TARGET_LANGUAGE: o código do idioma para o qual quer traduzir o texto. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.INPUT_TEXT: o texto de entrada no idioma de origem.
Use o campo mime_type para especificar um tipo de ficheiro. Defina o campo mime_type para 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 é o valor predefinido.
O exemplo seguinte 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 devolve o texto traduzido.
Python
Siga estes passos para usar o serviço Vertex AI Translation a partir de um script Python:
Instale a versão mais recente da biblioteca de cliente do Vertex AI Translation.
Defina as variáveis de ambiente necessárias num script Python.
Adicione o seguinte código ao script Python que 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 o seguinte:
ENDPOINT: o ponto final do Vertex AI Translation que usa para a sua organização. Para mais informações, veja o estado e os pontos finais do serviço.PROJECT_ID: o ID do projeto.SOURCE_LANGUAGE: o código do idioma do texto de entrada. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.TARGET_LANGUAGE: o código do idioma para o qual quer traduzir o texto. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.INPUT_TEXT: o texto de entrada no idioma de origem.
Use o campo
mime_typepara especificar um tipo de ficheiro. Defina o campomime_typepara um dos seguintes valores:text/plain: a entrada é texto simples.text/html: a entrada é texto HTML.
Se o campo
mime_typeestiver vazio,text/htmlé o valor predefinido.Guarde o script Python.
Execute o script Python para traduzir o texto:
python SCRIPT_NAMESubstitua
SCRIPT_NAMEpelo nome que deu ao script Python, comotranslation.py.
Para mais informações sobre o método translateText, consulte a biblioteca de cliente Python.
Exclua texto da tradução
Use uma das seguintes etiquetas HTML no campo contents dos pedidos 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 quer excluir da tradução.
Por exemplo, se tiver o seguinte texto de entrada em espanhol:
Hola, esto es una prueba.
O texto traduzido esperado para inglês é:
Hello, this is a test.
Suponha que quer traduzir apenas a seguinte parte do texto, excluindo Hola, do texto de entrada:
esto es una prueba.
O texto traduzido esperado para inglês é:
this is a test.
Use as etiquetas HTML para excluir texto da tradução. Por exemplo, o
seguinte curl pedido usa a <span class="notranslate">"TEXT"</span>
etiqueta 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.\""]}'
Traduza com um glossário
Para traduzir texto com palavras de um glossário, tem de criar um glossário:
Guarde o seguinte ficheiro
request_glossary.json:cat <<- EOF > request_glossary.json { "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "SOURCE_LANGUAGE", "contents": "TEXT", "glossaryConfig": { "glossary": "projects/PROJECT_ID/glossaries/GLOSSARY_ID", "ignoreCase": IGNORE_CASE_BOOLEAN, "contextual_translation_enabled": CONTEXTUAL_BOOLEAN } } EOFSubstitua o seguinte:
PROJECT_ID: o ID do projeto.SOURCE_LANGUAGE: o idioma em que o documento está escrito. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.TARGET_LANGUAGE: o idioma ou os idiomas para os quais quer traduzir o documento. Veja a lista de idiomas compatíveis e os respetivos códigos de idiomas.TEXT: translating text which includes glossary wordsGLOSSARY_ID: o ID do glossário, exemplo:G11111111114524
Faça o pedido:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d @request_glossary.json
Exemplo e saída esperada:
Pedido:
{
"sourceLanguageCode": "es",
"targetLanguageCode": "en",
"contents": "La novela cuenta la historia de una joven que viaja a Madrid",
"glossaryConfig": {
"glossary": "projects/test-project/glossaries/GLOSSARY_ID",
"ignoreCase": true,
"contextual_translation_enabled": true
}
}
Resposta:
{"translations":[
{
"translatedText":"The novel tells the story of a young woman who travels to Madrid"}],
"glossaryTranslations":[{"translatedText":"The novel account the story of a young woman who travels to Madrid",
"glossaryConfig":
{
"glossary":"projects/test-project/glossaries/GLOSSARY_ID"
}}
]}
O campo translations contém a tradução automática normal antes de o glossário ser aplicado; o campo glossaryTranslations contém a tradução depois de o glossário ser aplicado.
Quando define o campo contextual_translation_enabled como true, a resposta contém apenas o campo glossaryTranslations e não o campo translations.
Detete o idioma
O método detectLanguage devolve o idioma de uma string de texto através do envio de um pedido HTTP.
Por exemplo, o seguinte pedido deteta 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"}'
Obtenha uma operação
O método getOperation devolve o estado mais recente de uma
operação de longa duração.
Use este método para recuperar o resultado da operação gerado pelo serviço Vertex AI Translation API. Para usar este método, especifique o
ID do projeto e o ponto final do Vertex AI Translation.
Por exemplo, o seguinte pedido devolve o estado de uma operação de longa duração, como a criação de um glossário, que está a ser 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
Apresente operações
O método listOperations devolve uma lista das operações de longa duração
que correspondem a um filtro especificado no pedido. Para usar este método, especifique o
ID do projeto e o ponto final do Vertex AI Translation.
Por exemplo, o seguinte pedido devolve 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
Obtenha os idiomas compatíveis
O método supportedLanguages devolve a lista de idiomas compatíveis com a Vertex AI Translation API.
Por exemplo, o seguinte pedido devolve os idiomas compatíveis especificando o ponto final do 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 ver a lista completa dos idiomas compatíveis, consulte o artigo Idiomas compatíveis com o Vertex AI Translation.