Nesta página, mostramos como usar o Vertex AI Studio para traduzir texto rapidamente de um idioma para outro. A tradução no Vertex AI Studio oferece escolha entre o Gemini e dois modelos de tradução especializados, incluindo o modelo de tradução automática neural (NMT, na sigla em inglês) do Cloud Translation, e um LLM ajustado para traduções (também chamado de LLM de tradução).
Ao usar o LLM de tradução, é possível personalizar as respostas fornecendo exemplos traduções para que as respostas correspondam melhor ao seu estilo, tom e setor domínio. O modelo usa os exemplos como contexto few-shot antes de traduzir o texto. No Vertex AI Studio, essa personalização só funciona com LLM de tradução; não é possível, por exemplo, transmitir exemplos ao usar Gemini ou NMT.
Idiomas compatíveis
Os idiomas com que cada modelo trabalha podem variar. Antes de solicitar traduções, verifique se o modelo usado trabalha com os idiomas de origem e de destino.
LLM de tradução
No LLM de tradução, é possível fazer traduções de e para qualquer um dos pares de idiomas a seguir:
- Árabe <-> Inglês
- Chinês (simplificado) <-> Inglês
- Tcheco <-> Inglês
- Holandês <-> Inglês
- Francês <-> Inglês
- Alemão <-> Inglês
- Hindi <-> Inglês
- Indonésio <-> Inglês
- Italiano <-> Inglês
- Japonês <-> Inglês
- Coreano <-> Inglês
- Polonês <-> Inglês
- Português <-> Inglês
- Russo <-> Inglês
- Espanhol <-> Inglês
- Tailandês <-> Inglês
- Turco <-> Inglês
- Ucraniano <-> Inglês
- Vietnamita <-> Inglês
Gemini e NMT
Para mais informações sobre os idiomas com que o Gemini e o modelo NMT trabalham, consulte a seguinte documentação:
Traduzir texto
Use o LLM de tradução, o Gemini ou o modelo NMT para traduzir textos usando a API ou o console do Google Cloud.
Console
Na seção "Cloud Translation" do console do Google Cloud, acesse a página do Tradução para tradução no Vertex AI Studio.
No painel Configurações de execução, selecione um modelo de tradução no campo Modelo.
Para mudar as configurações do modelo (como a temperatura), abra Avançado.
Defina os idiomas de origem e de destino.
No campo de entrada, digite o texto a ser traduzido.
Clique em Enviar.
Para acessar o código ou o comando curl que demonstra como solicitar traduções, clique em
Acessar código.
API
Selecione o modelo a ser usado nas traduções.
LLM de tradução
Use a API Vertex AI e o LLM de tradução para traduzir textos.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
- LOCATION: o local onde você quer executar essa operação.
Por exemplo,
us-central1
. - SOURCE_LANGUAGE_CODE: o código do idioma do texto de entrada. Defina como um dos códigos de idioma listados em tradução adaptativa.
- TARGET_LANGUAGE_CODE: o idioma de chegada para o qual traduzir o texto de entrada. Defina como um dos códigos de idioma listados em tradução adaptativa.
- SOURCE_TEXT: texto no idioma de origem a ser traduzido.
- MIME_TYPE (opcional): o formato do texto de origem, como
text/html
outext/plain
. Por padrão, o tipo MIME é definido comotext/plain
.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text:predict
Corpo JSON da solicitação:
"instances": [{ "source_language_code": "SOURCE_LANGUAGE_CODE", "target_language_code": "TARGET_LANGUAGE_CODE", "contents": ["SOURCE_TEXT"], "mimeType": "MIME_TYPE", "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm" }]
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
async function translate() { const request = { instances: [{ source_language_code: SOURCE_LANGUAGE_CODE, target_language_code: TARGET_LANGUAGE_CODE, contents: [SOURCE_TEXT], model: "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm" }] }; const {google} = require('googleapis'); const aiplatform = google.cloud('aiplatform'); const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text'); const [response] = await endpoint.predict(request) console.log('Translating') console.log(response) }
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
from google.cloud import aiplatform def translate(): # Create a client endpoint = aiplatform.Endpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/cloud-translate-text') # Initialize the request instances=[{ "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE', "contents": ["SOURCE_TEXT"], "model": "projects/PROJECT_ID/locations/LOCATION/models/general/translation-llm" }] # Make the request response = endpoint.predict(instances=instances) # Handle the response print(response)
Gemini
Use a API Vertex AI e o Gemini para traduzir de texto.
Você pode personalizar ainda mais as respostas do Gemini e engenharia de comando.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud.
- LOCATION: o local para processar a solicitação. As opções disponíveis incluem:
Clicar para abrir uma lista parcial das regiões disponíveis
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- MODEL_ID: o ID do modelo, como
gemini-1.0-pro-002
- SOURCE_LANGUAGE_CODE: o idioma do texto de entrada.
- TARGET_LANGUAGE_CODE: o idioma de chegada para o qual traduzir o texto de entrada.
- SOURCE_TEXT: O texto que será traduzido.
- TEMPERATURE:
a temperatura é usada para amostragem durante a geração da resposta, que ocorre quando
topP
etopK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de0
significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura.
- TOP_P:
o Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados
do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades
seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de
0,3, 0,2 e 0,1 e o valor de top-P for
0.5
, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como candidato.Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- TOP_K:
o Top-K muda a forma como o modelo seleciona tokens para saída. Um top-K de
1
significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de3
significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- MAX_OUTPUT_TOKENS:
número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.
Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.
- SAFETY_CATEGORY:
a categoria de segurança para a qual configurar um limite. Os valores aceitáveis são os seguintes:
Clique para expandir as categorias de segurança
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD: o limite de bloqueio de respostas que podem pertencer à categoria de segurança especificada com base na probabilidade. Os valores aceitáveis são os seguintes:
Clique para expandir os limites de bloqueio
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(padrão)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
bloqueia mais, eBLOCK_ONLY_HIGH
bloqueia a menor.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON da solicitação:
{ "contents": [ { "role": "user", "parts": [ { "text": "SOURCE_LANGUAGE_CODE: SOURCE_TEXT\nTARGET_LANGUAGE_CODE:" } ] } ], "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS } "safetySettings": [ { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" } ] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá um código de status de êxito (2xx) e uma resposta vazia.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
const {VertexAI} = require('@google-cloud/vertexai'); // Initialize Vertex with your Cloud project and location const vertex_ai = new VertexAI({project: 'PROJECT_ID', location: 'LOCATION'}); const model = 'gemini-1.0-pro'; // Instantiate the models const generativeModel = vertex_ai.preview.getGenerativeModel({ model: model, generationConfig: { 'candidate_count': 1, 'max_output_tokens': MAX_OUTPUT_TOKENS, 'temperature': TEMPERATURE, 'top_p': TOP_P, 'top_k': TOP_K, }, safetySettings: [ { 'category': 'HARM_CATEGORY_HATE_SPEECH', 'threshold': 'BLOCK_MEDIUM_AND_ABOVE' }, { 'category': 'HARM_CATEGORY_DANGEROUS_CONTENT', 'threshold': 'BLOCK_MEDIUM_AND_ABOVE' }, { 'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT', 'threshold': 'BLOCK_MEDIUM_AND_ABOVE' }, { 'category': 'HARM_CATEGORY_HARASSMENT', 'threshold': 'BLOCK_MEDIUM_AND_ABOVE' } ], }); async function generateContent() { const req = { contents: [ {role: 'user', parts: [{text: `SOURCE_LANGUAGE_CODE: TEXT TARGET_LANGUAGE_CODE:`}]} ], }; const streamingResp = await generativeModel.generateContentStream(req); for await (const item of streamingResp.stream) { process.stdout.write('stream chunk: ' + JSON.stringify(item) + '\n'); } process.stdout.write('aggregated response: ' + JSON.stringify(await streamingResp.response)); } generateContent();
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
import base64 import vertexai from vertexai.generative_models import GenerativeModel, Part, FinishReason import vertexai.preview.generative_models as generative_models def generate(): vertexai.init(project="PROJECT_ID", location="LOCATION") model = GenerativeModel("gemini-1.0-pro") responses = model.generate_content( ["""SOURCE_LANGUAGE_CODE: TEXT TARGET_LANGUAGE_CODE:"""], generation_config=generation_config, safety_settings=safety_settings, ) print(responses) generation_config = { "candidate_count": 1, "max_output_tokens": MAX_OUTPUT_TOKENS, "temperature": TEMPERATURE, "top_p": TOP_P, "top_k": TOP_K, } safety_settings = { generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, } generate()
NMT
Usar a API Cloud Translation e o modelo NMT para traduzir textos.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud.
- SOURCE_LANGUAGE: (opcional) o código do idioma do texto de entrada. Para ver os códigos de idioma aceitos, consulte Suporte a idiomas.
- TARGET_LANGUAGE: o idioma de chegada para o qual traduzir o texto de entrada. Defina como um dos códigos de idioma aceitos.
- SOURCE_TEXT: O texto que será traduzido.
Método HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText
Corpo JSON da solicitação:
{ "sourceLanguageCode": "SOURCE_LANGUAGE", "targetLanguageCode": "TARGET_LANGUAGE", "contents": ["SOURCE_TEXT1", "SOURCE_TEXT2"] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT1" }, { "translatedText": "TRANSLATED_TEXT2" } ] }
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Traduções personalizadas
Personalize as respostas do LLM de tradução fornecendo seus próprios exemplos de traduções. As traduções personalizadas só funcionam com o LLM de tradução.
É possível solicitar uma tradução personalizada pelo Vertex AI Studio. console ou API com uma diferença. O console aceita traduções personalizadas somente quando você fornecer exemplos em um arquivo TMX ou TSV. A API suporta traduções apenas quando você fornecer exemplos (até cinco pares de sentenças) inline como parte da solicitação de tradução.
Requisitos de dados
Se você fornecer exemplos de tradução em um arquivo para o console do Google Cloud, os exemplos devem ser escritos como pares de segmentos em um arquivo TMX ou TSV. Cada par inclui um segmento do idioma de origem e a tradução correspondente. Para mais informações, consulte Preparar exemplos de tradução na documentação do Cloud Translation.
Para ter resultados mais precisos, inclua exemplos específicos de uma ampla variedade de cenários. Inclua pelo menos cinco pares de frases e no máximo 10.000 pares. Além disso, um par de segmentos pode ter no máximo 512 caracteres.
Console
Na seção "Cloud Translation" do console do Google Cloud, acesse a página do Tradução para tradução no Vertex AI Studio.
No painel Executar configurações, defina as configurações de tradução.
- No campo Modelo, selecione LLM de tradução.
- Para mudar a temperatura, abra Avançado.
Clique em Adicionar exemplos.
- Selecione um arquivo local ou um arquivo do Cloud Storage. O Vertex AI Studio identificará os idiomas de origem e de destino do arquivo.
- Selecione o número de exemplos que o modelo usará antes de gerar uma resposta.
O número de exemplos que você seleciona é contabilizado no limite de caracteres de entrada por solicitação de 3.000.
No campo de entrada, digite o texto a ser traduzido.
Clique em Enviar.
O Cloud Translation seleciona automaticamente o número especificado de frases de referência que são mais semelhantes a sua entrada. Modelo de tradução identifica padrões de seus exemplos e os aplica quando gerar uma resposta.
O limite de saída por solicitação é de 3.000 caracteres. Qualquer texto além desse limite é descartado.
Para acessar o código ou o comando curl que demonstra como solicitar traduções, clique em
Acessar código.
API
Para solicitar traduções personalizadas, inclua até cinco pares de frases de referência no sua solicitação de tradução. O modelo de tradução usa todos eles para identificar padrões dos exemplos e, em seguida, os aplica ao gerar uma resposta.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_NUMBER_OR_ID: o ID numérico ou alfanumérico do projeto do Google Cloud
- LOCATION: o local onde você quer executar essa operação.
Por exemplo,
us-central1
. - REFERENCE_SOURCE: uma frase no idioma de origem que está parte de um par de frases de referência.
- REFERENCE_TARGET: uma frase no idioma de chegada que está parte de um par de frases de referência.
- SOURCE_LANGUAGE: o código do idioma do texto de entrada.
- TARGET_LANGUAGE: o idioma de chegada para o qual traduzir o texto de entrada.
- SOURCE_TEXT: texto no idioma de origem a ser traduzido.
- MIME_TYPE (opcional): o formato do texto de origem, como
text/html
outext/plain
. Por padrão, o tipo MIME é definido comotext/plain
.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm:predict
Corpo JSON da solicitação:
"instances": [{ "reference_sentence_config": { "reference_sentence_pair_lists": [ { "reference_sentence_pairs": [{ "source_sentence": "REFERENCE_SOURCE_1_1", "target_sentence": "REFERENCE_TARGET_1_1" }, { "source_sentence": "REFERENCE_SOURCE_1_2", "target_sentence": "REFERENCE_SOURCE_1_2" }] } ], "source_language_code": "SOURCE_LANGUAGE_CODE", "target_language_code": "TARGET_LANGUAGE_CODE" }, "contents": ["SOURCE_TEXT"], "mimeType": "MIME_TYPE" }]
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE" }
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Node.js.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
async function translate() { const request = { instances: [{ "reference_sentence_config": { "reference_sentence_pair_lists": [{ "reference_sentence_pairs": [{ "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1', "target_sentence": 'SAMPLE_REFERENCE_TARGET_1' }, "reference_sentence_pairs": { "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2', "target_sentence": 'SAMPLE_REFERENCE_TARGET_2' }] }], "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE' }, "contents": ["SOURCE_TEXT"] }] }; const {google} = require('googleapis'); const aiplatform = google.cloud('aiplatform'); const endpoint = aiplatform.predictionEndpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm'); const [response] = await endpoint.predict(request) console.log('Translating') console.log(response) }
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Cloud Translation: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Cloud Translation em Python.
Para autenticar no Cloud Translation, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
from google.cloud import aiplatform def translate(): # Create a client endpoint = aiplatform.Endpoint('projects/PROJECT_ID/locations/LOCATION/publishers/google/models/translate-llm') # Initialize the request instances=[{ "reference_sentence_config": { "reference_sentence_pair_lists": [{ "reference_sentence_pairs": [{ "source_sentence": 'SAMPLE_REFERENCE_SOURCE_1', "target_sentence": 'SAMPLE_REFERENCE_TARGET_1' }, "reference_sentence_pairs": { "source_sentence": 'SAMPLE_REFERENCE_SOURCE_2', "target_sentence": 'SAMPLE_REFERENCE_TARGET_2' }] }], "source_language_code": 'SOURCE_LANGUAGE_CODE', "target_language_code": 'TARGET_LANGUAGE_CODE' }, "contents": ["SOURCE_TEXT"] }] # Make the request response = endpoint.predict(instances=instances) # Handle the response print(response)
Também é possível usar a API Cloud Translation para criar um conjunto de dados e importar pares de sentenças de exemplo. Quando você usa a API Cloud Translation para solicitar traduções, é possível incluir um conjunto de dados para personalizar as respostas. O conjunto de dados persistem e podem ser reutilizados em várias solicitações de tradução. Para mais mais detalhadas, consulte Solicitar traduções adaptáveis nos Documentação do Cloud Translation.