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 Region
kan 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.
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för