Share via


Azure Text Translation-klientbibliotek för Python – version 1.0.0b1

Textöversättning är en molnbaserad REST API-funktion i Translator-tjänsten som använder neural maskinöversättningsteknik för att möjliggöra snabb och korrekt textöversättning från källa till mål i realtid över alla språk som stöds.

Använd klientbiblioteket för textöversättning för Python för att:

  • Returnera en lista över språk som stöds av översättnings-, transkriberings- och ordlisteåtgärder.

  • Rendera text med ett enda källspråk till flera målspråkstexter med en enda begäran.

  • Konvertera text för ett källspråk med bokstäver i ett annat skript.

  • Returnera motsvarande ord för källtermen på målspråket.

  • Returnera grammatisk struktur och kontextexempel för källtermen och måltermparet.

| Källkod Paket (PyPI) | API-referensdokumentation | Produktdokumentation | Prover

Komma igång

Förutsättningar

  • Python 3.7 eller senare krävs för att använda det här paketet.
  • En befintlig Translator-tjänst eller Cognitive Services-resurs.

Installera paketet

Installera Azure Text Translation-klientbiblioteket för Python med pip:

pip install azure-ai-translation-text

Skapa en Translator-tjänstresurs

Du kan skapa En Translator-resurs efter Skapa en Translator-resurs.

Autentisera klienten

Interaktionen med tjänsten med hjälp av klientbiblioteket börjar med att skapa en instans av klassen TextTranslationClient . Du behöver en API-nyckel eller TokenCredential för att instansiera ett klientobjekt. Mer information om autentisering med kognitiva tjänster finns i Autentisera begäranden till Translator Service.

Hämta en API-nyckel

Du kan hämta endpoint, API key och Region från Cognitive Services-resursen eller Translator-tjänstens resursinformation i Azure-portalen.

Du kan också använda Azure CLI-kodfragmentet nedan för att hämta API-nyckeln från Translator-tjänstresursen.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Skapa en TextTranslationClient med hjälp av en API-nyckel och regionsautentiseringsuppgifter

När du har värdet för API-nyckeln och regionen skapar du en TranslatorCredential. På så sätt kan du uppdatera API-nyckeln utan att skapa en ny klient.

Med värdet för slutpunkten TranslatorCredential och en Regionkan du skapa TextTranslationClient:

text_translator = TextTranslationClient(credential = TranslatorCredential("<apiKey>", "<apiRegion>"));

Viktiga begrepp

TextTranslationClient

A TextTranslationClient är det primära gränssnittet för utvecklare som använder klientbiblioteket för textöversättning. Den innehåller både synkrona och asynkrona åtgärder för att få åtkomst till en specifik användning av textöversättare, till exempel identifiering av språk som stöds eller textöversättning.

Indata

Ett textelement (string), är en enda indataenhet som ska bearbetas av översättningsmodellerna i Translator-tjänsten. Åtgärder på TextTranslationClient kan ta ett enstaka textelement eller en samling textelement. Längdgränser för textelement, maximal storlek för begäranden och textkodning som stöds finns här.

Exempel

Följande avsnitt innehåller flera kodfragment med hjälp av ovanståendeclient och beskriver huvudfunktionerna i det här klientbiblioteket. Även om de flesta av kodfragmenten nedan använder synkrona tjänstanrop bör du tänka på att bibliotekspaketet Textöversättning för Python stöder både synkrona och asynkrona API:er.

Hämta språk som stöds

Hämtar den uppsättning språk som för närvarande stöds av andra åtgärder i Translator.

try:
    response = text_translator.get_languages()

    print(f"Number of supported languages for translate operation: {len(response.translation) if response.translation is not None else 0}")
    print(f"Number of supported languages for transliterate operation: {len(response.transliteration) if response.transliteration is not None else 0}")
    print(f"Number of supported languages for dictionary operations: {len(response.dictionary) if response.dictionary is not None else 0}")

    if response.translation is not None:
        print("Translation Languages:")
        for key, value in response.translation.items():
            print(f"{key} -- name: {value.name} ({value.native_name})")

    if response.transliteration is not None:
        print("Transliteration Languages:")
        for key, value in response.transliteration.items():
            print(f"{key} -- name: {value.name}, supported script count: {len(value.scripts)}")

    if response.dictionary is not None:
        print("Dictionary Languages:")
        for key, value in response.dictionary.items():
            print(f"{key} -- name: {value.name}, supported target languages count: {len(value.translations)}")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder languages slutpunkten finns i fler exempel här.

I tjänstdokumentationen finns en konceptuell diskussion om språk.

Översätt

Renderar text med ett enda källspråk till flera målspråkstexter med en enda begäran.

try:
    source_language = "en"
    target_languages = ["cs"]
    input_text_elements = [ InputTextItem(text = "This is a test") ]

    response = text_translator.translate(content = input_text_elements, to = target_languages, from_parameter = source_language)
    translation = response[0] if response else None

    if translation:
        for translated_text in translation.translations:
            print(f"Text was translated to: '{translated_text.to}' and the result is: '{translated_text.text}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder translate slutpunkten finns i fler exempel här.

Mer information om översättning finns i tjänstdokumentationen.

Transkribera

Konverterar tecken eller bokstäver i ett källspråk till motsvarande tecken eller bokstäver i ett målspråk.

try:
    language = "zh-Hans"
    from_script = "Hans"
    to_script = "Latn"
    input_text_elements = [ InputTextItem(text = "这是个测试。") ]

    response = text_translator.transliterate(content = input_text_elements, language = language, from_script = from_script, to_script = to_script)
    transliteration = response[0] if response else None

    if transliteration:
        print(f"Input text was transliterated to '{transliteration.script}' script. Transliterated text: '{transliteration.text}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder transliterate slutpunkten finns i fler exempel här.

Se tjänstdokumentationen för en konceptuell diskussion om transkribering.

Bryt mening

Identifierar placeringen av meningsgränser i ett textstycke.

try:
    source_language = "zh-Hans"
    source_script = "Latn"
    input_text_elements = [ InputTextItem(text = "zhè shì gè cè shì。") ]

    response = text_translator.find_sentence_boundaries(content = input_text_elements, language = source_language, script = source_script)
    sentence_boundaries = response[0] if response else None

    if sentence_boundaries:
        detected_language = sentence_boundaries.detected_language
        if detected_language:
            print(f"Detected languages of the input text: {detected_language.language} with score: {detected_language.score}.")
        print(f"The detected sentence boundaries:")
        for boundary in sentence_boundaries.sent_len:
            print(boundary)

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder break sentence slutpunkten finns i fler exempel här.

Se tjänstdokumentationen för en konceptuell diskussion om bryt mening.

Slå upp i ordlista

Returnerar motsvarande ord för källtermen på målspråket.

try:
    source_language = "en"
    target_language = "es"
    input_text_elements = [ InputTextItem(text = "fly") ]

    response = text_translator.lookup_dictionary_entries(content = input_text_elements, from_parameter = source_language, to = target_language)
    dictionary_entry = response[0] if response else None

    if dictionary_entry:
        print(f"For the given input {len(dictionary_entry.translations)} entries were found in the dictionary.")
        print(f"First entry: '{dictionary_entry.translations[0].display_target}', confidence: {dictionary_entry.translations[0].confidence}.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder dictionary lookup slutpunkten finns i fler exempel här.

Se tjänstdokumentationen för en konceptuell diskussion om ordlistesökning.

Ordlisteexempel

Returnerar grammatisk struktur och kontextexempel för källtermen och måltermparet.

from azure.ai.translation.text.models import DictionaryExampleTextItem

try:
    source_language = "en"
    target_language = "es"
    input_text_elements = [ DictionaryExampleTextItem(text = "fly", translation = "volar") ]

    response = text_translator.lookup_dictionary_examples(content = input_text_elements, from_parameter = source_language, to = target_language)
    dictionary_entry = response[0] if response else None

    if dictionary_entry:
        print(f"For the given input {len(dictionary_entry.examples)} entries were found in the dictionary.")
        print(f"First example: '{dictionary_entry.examples[0].target_prefix}{dictionary_entry.examples[0].target_term}{dictionary_entry.examples[0].target_suffix}'.")

except HttpResponseError as exception:
    print(f"Error Code: {exception.error.code}")
    print(f"Message: {exception.error.message}")

Exempel på hur du använder dictionary examples slutpunkten finns i fler exempel här.

Se tjänstdokumentationen för en konceptuell diskussion om ordlisteexempel.

Felsökning

När du interagerar med Translator-tjänsten med hjälp av TextTranslator-klientbiblioteket motsvarar fel som returneras av Translator-tjänsten samma HTTP-statuskoder som returneras för REST API-begäranden.

Om du till exempel skickar en översättningsbegäran utan ett målöversättningsspråk returneras ett 400 fel som anger "Felaktig begäran".

Du hittar de olika felkoderna som returneras av tjänsten i tjänstdokumentationen.

Ge feedback

Om du stöter på buggar eller har förslag kan du skicka in ett problem i avsnittet Problem i projektet.

Nästa steg

Fler exempel finns under exempelkatalogen .

Bidra

Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns i cla.microsoft.com.

När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.

Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.