Traduci testo

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 disporre di un progetto con l'API Vertex AI Translation abilitata e delle credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, consulta la sezione 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 è presente nella sintassi per escludere il testo dalla traduzione. L'output mantiene i tag HTML non tradotti e include il testo tradotto tra questi.

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 inviare una richiesta di curl:

  1. Ottenere un token di autenticazione.

  2. 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 relativi 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: il testo inserito è 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:

  1. Installa l'ultima versione della libreria client Vertex AI Translation.

  2. Imposta le variabili di ambiente richieste in uno script Python.

  3. Autentica la richiesta API.

  4. 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 relativi 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: il testo inserito è testo normale.
    • text/html: il tuo input è testo HTML.

    Se il campo mime_type è vuoto, text/html è il valore predefinito.

  5. Salva lo script Python.

  6. Esegui lo script Python per tradurre il testo:

    python SCRIPT_NAME
    

    Sostituisci SCRIPT_NAME con il nome che hai assegnato allo script Python, ad esempio translation.py.

Per ulteriori informazioni sul metodo translateText, consulta la libreria client Python.

Escludere il 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."]}'

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", "contents": ["Hello, this is a test"]}'

Recupero di un'operazione

Il metodo getOperation restituisce lo stato più recente 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

Recuperare le lingue supportate

Il metodo getSupportedLanguages 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 POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:getSupportedLanguages -d "{}"

Per l'elenco completo delle lingue supportate, consulta Lingue supportate per Vertex AI Translation.