Tradurre un testo

Completato

Suggerimento

Per altri dettagli, vedi la scheda Testo e immagini .

Traduttore di Azure in Foundry Tools offre un'API per la traduzione di testo tra più di 90 lingue supportate. Con Traduttore di Azure è possibile:

  • Tradurre o traslitterare testo usando il modello di traduzione predefinito o un modello linguistico di grandi dimensioni (LLM).
  • Tradurre documenti, in modo sincrono o asincrono, mantenendo la struttura del documento.
  • Usare modelli di traduzione personalizzati per tradurre termini specifici del dominio.

In questo modulo verrà illustrato l'API traduzione testuale . Per altre informazioni sulla gamma completa di funzionalità di Traduttore di Azure, vedere la documentazione di Traduttore di Azure in Foundry Tools.

Usare Traduttore di Azure nel portale di Microsoft Foundry

È possibile esplorare Traduttore di Azure nel portale di Microsoft Foundry, in cui sono disponibili aree di lavoro per la traduzione testuale e la traduzione di documenti.

Screenshot del playground del traduttore nel portale Fonderia.

Il portale di Foundry è un ottimo modo per sperimentare con Azure Translator, confrontare i risultati del modello predefinito con quelli dei moduli LLM e visualizzare il codice di esempio per usare il traduttore dalle proprie applicazioni client.

Usare Traduttore di Azure nel codice dell'applicazione

È possibile usare l'API REST per chiamare le funzioni di Traduttore di Azure oppure scrivere codice nella lingua preferita usando uno degli SDK supportati; che includono:

Connettersi a una risorsa di Traduttore di Azure

Le API di Traduttore di Azure vengono gestite tramite endpoint REST, a cui il client deve stabilire una connessione autenticata. L'endpoint può essere:

  • Endpoint globale di Traduttore di Azure: api.cognitive.microsofttranslator.com
  • Endpoint a livello di area di Traduttore di Azure: questi endpoint includono api-nam.cognitive.microsofttranslator.com, api-apc.cognitive.microsofttranslator.come api-eur.cognitive.microsofttranslator.com
  • Endpoint delle risorse di Fonderia: {foundry-resource-name}.cognitiveservices.azure.com/

È possibile connettere un client a un endpoint specifico oppure è possibile connettersi specificando l'area in cui viene effettuato il provisioning della risorsa. Ad esempio, è possibile usare una delle tecniche illustrate nell'esempio di codice seguente per connettersi ad Traduttore di Azure usando la chiave API Foundry per l'autenticazione:

from azure.core.credentials import AzureKeyCredential
from azure.ai.translation.text import *

key_credential = AzureKeyCredential("FOUNDRY_KEY")

# Connect to a Foundry resource endpoint
client = TextTranslationClient(credential=key_credential, endpoint="FOUNDRY_ENDPOINT")

# Or connect using a region
client = TextTranslationClient(credential=key_credential, region="FOUNDRY_REGION")

Suggerimento

Per altre informazioni sul costruttore TextTranslationClient , vedere la documentazione di Traduttore di Azure Python SDK.

Determinare le lingue disponibili

Traduttore di Azure supporta più di 90 lingue. In alcuni casi, è possibile fornire agli utenti un elenco di lingue disponibili per la traduzione; come illustrato nel codice di esempio seguente:

languages = client.get_supported_languages(scope="translation")
print("{} languages supported:".format(len(languages.translation)))
for language in languages.translation.keys():
    print(languages.translation[language].name + " (" + language + ")")

I risultati includono il nome e il codice ISO per ogni lingua:

137 languages supported:
Afrikaans (af)
Amharic (am)
Arabic (ar)
Assamese (as)
Azerbaijani (az)
Bashkir (ba)
Belarusian (be)
Bulgarian (bg)
...

Suggerimento

Per altre informazioni sul metodo get_supported_language , vedere la documentazione di Traduttore di Azure Python SDK.

Tradurre un testo

Per tradurre testo da una lingua di origine a una o più lingue di destinazione , usare il metodo translate .

  • Il testo di origine viene passato al metodo come elenco di oggetti InputTextItem , ognuno contenente una stringa di testo da tradurre.
  • Facoltativamente, è possibile specificare un parametro from_language con il codice ISO per la lingua di origine ( ad esempio "en"); oppure è possibile omettere questo parametro per fare in modo che Traduttore di Azure rilevi automaticamente la lingua di origine.
  • Lingue di destinazione specificate come elenco di codici di lingua nel parametro to_language : Traduttore di Azure restituirà una traduzione per ogni codice di lingua valido.

Nell'esempio seguente vengono convertiti due input di testo in lingue diverse non specificate in francese (fr) e inglese (en):

input_text_elements = [InputTextItem(text="Hola"), InputTextItem(text="こんにちは")]
translation_results = client.translate(body=input_text_elements, to_language=["fr", "en"])
idx = 0
for translation in translation_results:
    input_text = input_text_elements[idx].text
    idx += 1
    sourceLanguage = translation.detected_language
    for translated_text in translation.translations:
        print(f"'{input_text}' was translated from {sourceLanguage.language} to {translated_text.to} as '{translated_text.text}'.")

L'output di questo codice mostra le lingue di origine rilevate come spagnolo (es) e giapponese (ja):

'Hola' was translated from es to fr as 'Bonjour'.
'Hola' was translated from es to en as 'Hello'.
'こんにちは' was translated from ja to fr as 'Bonjour'.
'こんにちは' was translated from ja to en as 'Hello'.

Suggerimento

Per altre informazioni sul metodo translate , vedere la documentazione di Traduttore di Azure Python SDK.

Traslitterare testo

Il testo giapponese nell'esempio precedente viene scritto usando lo script Hiragana, quindi anziché convertirlo in una lingua diversa, è possibile traslitterarlo in uno script diverso, ad esempio per eseguire il rendering delle parole giapponesi nello script latino (come usato dal testo in lingua inglese).

A tale scopo, è possibile inviare il testo giapponese al metodo traslitterato con un parametro from_script di Jpan e un parametro to_script di Latn, come illustrato di seguito:

source_text = "こんにちは"
input_text_elements = [InputTextItem(text=source_text)]
transliteration_results = client.transliterate(body=input_text_elements, language="ja",
                                               from_script="Jpan", to_script="Latn")
for transliteration in transliteration_results:
    sourceScript = transliteration.script
    targetScript = transliteration.text
    print(f"'{source_text}' was transliterated into {sourceScript} as {targetScript}.")

Questo esempio di codice produce il risultato seguente:

'こんにちは' was transliterated into Latn as Kon'nichiwa​.

Suggerimento

Per altre informazioni sul metodo di traslitterazione , vedere la documentazione di Traduttore di Azure Python SDK.