Il servizio Vertex AI Translation ti consente di tradurre il testo scritto in una lingua in una delle altre lingue supportate.
Questa pagina mostra come tradurre un testo di esempio utilizzando l'API Vertex AI Translation su Google Distributed Cloud (GDC) air-gapped.
Prima di iniziare
Prima di poter iniziare a utilizzare l'API Vertex AI Translation, devi avere un progetto in cui sia abilitata l'API Vertex AI Translation e le credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, consulta Configurare un progetto di traduzione.
Traduci testo
Il metodo translateText prende il testo di input in una determinata lingua e restituisce
il testo tradotto in un'altra lingua. Puoi inserire testo normale o HTML come
input.
Se inserisci testo HTML, il metodo translateText traduce solo il testo tra i tag HTML senza tradurre i tag. Tuttavia, traduce
gli attributi nei tag HTML5, ad esempio gli attributi alt. Un esempio di utilizzo di tag e attributi HTML5 è utilizzato nella sintassi per escludere il testo dalla traduzione.
L'output conserva i tag HTML non tradotti e include il testo tradotto tra i tag.
Invia una richiesta curl all'API Vertex AI Translation preaddestrata. In caso contrario, interagisci con l'API preaddestrata Vertex AI Translation da uno script Python per tradurre il testo da una lingua all'altra.
Gli esempi seguenti mostrano come tradurre un testo di input da una lingua all'altra:
curl
Segui questi passaggi per effettuare una richiesta di curl:
Effettua la richiesta:
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"]}'
Sostituisci quanto segue:
TOKEN: il token di autenticazione che hai ottenuto.ENDPOINT: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.PROJECT_ID: il tuo ID progetto.SOURCE_LANGUAGE: il codice lingua del testo di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: il codice lingua in cui vuoi tradurre il testo. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_TEXT: il testo di input nella lingua di origine.
Utilizza il campo mime_type per specificare un tipo di file. Imposta il campo mime_type
su uno dei seguenti valori:
text/plain: l'input è testo normale.text/html: il tuo input è testo HTML.
Se il campo mime_type è vuoto, text/html è il valore predefinito.
L'esempio seguente utilizza il 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"]}'
L'output restituisce il testo tradotto.
Python
Segui questi passaggi per utilizzare il servizio Vertex AI Translation da uno script Python:
Installa l'ultima versione della libreria client Vertex AI Translation.
Imposta le variabili di ambiente richieste in uno script Python.
Aggiungi il seguente codice allo script Python che hai creato:
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)Sostituisci quanto segue:
ENDPOINT: l'endpoint Vertex AI Translation che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.PROJECT_ID: il tuo ID progetto.SOURCE_LANGUAGE: il codice lingua del testo di input. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.TARGET_LANGUAGE: il codice lingua in cui vuoi tradurre il testo. Consulta l'elenco delle lingue supportate e i rispettivi codici lingua.INPUT_TEXT: il testo di input nella lingua di origine.
Utilizza il campo
mime_typeper specificare un tipo di file. Imposta il campomime_typesu uno dei seguenti valori:text/plain: l'input è testo normale.text/html: il tuo input è testo HTML.
Se il campo
mime_typeè vuoto,text/htmlè il valore predefinito.Salva lo script Python.
Esegui lo script Python per tradurre il testo:
python SCRIPT_NAMESostituisci
SCRIPT_NAMEcon il nome che hai dato allo script Python, ad esempiotranslation.py.
Per saperne di più sul metodo translateText, consulta la libreria client Python.
Escludere testo dalla traduzione
Utilizza uno dei seguenti tag HTML nel campo contents delle richieste per
escludere parti del testo dalla traduzione:
<span translate="no">"TEXT"</span><span class="notranslate">"TEXT"</span>
Sostituisci TEXT con la parte di testo che vuoi escludere
dalla traduzione.
Ad esempio, se hai il seguente testo di input in spagnolo:
Hola, esto es una prueba.
Poi, il testo viene tradotto in inglese nella seguente frase:
Hello, this is a test.
Supponiamo che tu voglia tradurre solo la seguente parte del testo, escludendo
Hola, dal testo di input:
esto es una prueba.
Questa parte del testo si traduce in inglese con la seguente frase:
this is a test.
Utilizza i tag HTML per escludere il testo dalla traduzione. Ad esempio, la
seguente richiesta curl utilizza il tag <span class="notranslate">"TEXT"</span>
per escludere Hola, dal testo di input precedente in spagnolo durante la traduzione
del testo in inglese:
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.\""]}'
Tradurre con un glossario
Per tradurre un testo con parole di un glossario, devi creare un glossario:
Salva il seguente file
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 } } EOFSostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.SOURCE_LANGUAGE: la lingua in cui è scritto il documento. Consulta l'elenco delle lingue supportate e i relativi codici lingua.TARGET_LANGUAGE: la lingua o le lingue in cui vuoi tradurre il documento. Consulta l'elenco delle lingue supportate e i relativi codici lingua.TEXT: traduzione di testo che include parole del glossarioGLOSSARY_ID: l'ID del glossario, ad esempioG11111111114524
Effettua la richiesta:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d @request_glossary.json
Esempio e output previsto:
Richiesta:
{
"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
}
}
Risposta:
{"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"
}}
]}
Il campo translations contiene la traduzione automatica standard prima dell'applicazione del glossario, mentre il campo glossaryTranslations contiene la traduzione dopo l'applicazione del glossario.
Se imposti il campo contextual_translation_enabled su true, la risposta conterrà solo il campo glossaryTranslations e non il campo translations.
Rileva lingua
Il metodo detectLanguage restituisce la lingua di una stringa di testo inviando una
richiesta HTTP.
Ad esempio, la seguente richiesta rileva l'inglese come lingua dal
testo di input 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"}'
Recupero di un'operazione
Il metodo getOperation restituisce l'ultimo stato di un'operazione a lunga esecuzione.
Utilizza questo metodo per recuperare il risultato dell'operazione generato dal
servizio API Vertex AI Translation. Per utilizzare questo metodo, specifica l'ID progetto e l'endpoint Vertex AI Translation.
Ad esempio, la seguente richiesta restituisce lo stato di un'operazione a lunga esecuzione, ad esempio la creazione di un glossario, in esecuzione nel tuo progetto:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID
Elenca operazioni
Il metodo listOperations restituisce un elenco delle operazioni a lunga esecuzione
che corrispondono a un filtro specificato nella richiesta. Per utilizzare questo metodo, specifica l'ID progetto e l'endpoint Vertex AI Translation.
Ad esempio, la seguente richiesta restituisce l'elenco delle operazioni in esecuzione nel tuo progetto e limita le dimensioni della pagina a dieci risultati per pagina:
curl
curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10
Ottenere le lingue supportate
Il metodo supportedLanguages restituisce l'elenco delle lingue supportate dall'API Vertex AI Translation.
Ad esempio, la seguente richiesta restituisce le lingue supportate specificando l'endpoint 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
Per l'elenco completo delle lingue supportate, consulta Lingue supportate per Vertex AI Translation.