Python için Azure Metin Çevirisi istemci kitaplığı - sürüm 1.0.0b1
Metin Çevirisi, desteklenen tüm dillerde kaynak-hedef metin çevirisinin gerçek zamanlı olarak hızlı ve doğru bir şekilde gerçek zamanlı olarak yapılabilmesi için nöral makine çevirisi teknolojisini kullanan Translator hizmetinin bulut tabanlı bir REST API özelliğidir.
Python için Metin Çevirisi istemci kitaplığını kullanarak:
Translate, Transliterate ve Dictionary işlemleri tarafından desteklenen dillerin listesini döndürür.
Tek bir istekle tek bir kaynak dil metnini birden çok hedef dil metnine işler.
Kaynak dilin metnini farklı bir betiğin harfleriyle dönüştürün.
Hedef dilde kaynak terim için eşdeğer sözcükler döndürür.
Kaynak terim ve hedef terim çifti için dil bilgisi yapısı ve bağlam örnekleri döndürün.
Kaynak kodu | Paket (PyPI) | API başvuru belgeleri | Ürün belgeleri | Örnekleri
Başlarken
Önkoşullar
- Bu paketi kullanmak için Python 3.7 veya üzeri gereklidir.
- Mevcut bir Translator hizmeti veya Bilişsel Hizmetler kaynağı.
Paketi yükleme
Python için Azure Metin Çevirisi istemci kitaplığını pip ile yükleyin:
pip install azure-ai-translation-text
Translator hizmet kaynağı oluşturma
Translator kaynağı oluşturma'nın ardından Translator kaynağı oluşturabilirsiniz.
İstemcinin kimliğini doğrulama
İstemci kitaplığını kullanarak hizmetle etkileşim, TextTranslationClient sınıfının bir örneğini oluşturmakla başlar. Bir API anahtarına veya TokenCredential
istemci nesnesinin örneğini oluşturmak için ihtiyacınız olacaktır. Bilişsel hizmetlerle kimlik doğrulaması hakkında daha fazla bilgi için bkz . Translator Hizmeti'ne isteklerin kimliğini doğrulama.
API anahtarı alma
Azure Portal'daendpoint
Bilişsel API key
Hizmetler kaynağından veya Translator hizmeti kaynak bilgilerinden ve Region
alabilirsiniz.
Alternatif olarak, Translator hizmet kaynağından API anahtarını almak için aşağıdaki Azure CLI kod parçacığını kullanın.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
API anahtarı ve Bölge kimlik bilgileri kullanarak oluşturma TextTranslationClient
API anahtarı ve Bölge için değere sahip olduktan sonra bir TranslatorCredential
oluşturun. Bu, yeni bir istemci oluşturmadan API anahtarını güncelleştirmenize olanak sağlar.
uç noktasının TranslatorCredential
değeri ve ile Region
TextTranslationClient oluşturabilirsiniz:
text_translator = TextTranslationClient(credential = TranslatorCredential("<apiKey>", "<apiRegion>"));
Önemli kavramlar
TextTranslationClient
A TextTranslationClient
, Metin Çevirisi istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. Desteklenen dilleri algılama veya metin çevirisi alma gibi belirli bir metin çevirisi kullanımına erişmek için hem zaman uyumlu hem de zaman uyumsuz işlemler sağlar.
Giriş
Metin öğesi (string
), Translator hizmetindeki çeviri modelleri tarafından işlenecek tek bir giriş birimidir. üzerindeki TextTranslationClient
işlemler tek bir metin öğesi veya metin öğeleri koleksiyonu alabilir.
Metin öğesi uzunluk sınırları, maksimum istek boyutu ve desteklenen metin kodlaması için buraya bakın.
Örnekler
Aşağıdaki bölümde, yukarıda oluşturulan kullanılarak çeşitli kod parçacıkları client
sağlanır ve bu istemci kitaplığında bulunan ana özellikler yer alır. Aşağıdaki kod parçacıklarının çoğu zaman uyumlu hizmet çağrılarını kullansa da Python kitaplık paketi için Metin Çevirisi'nin hem zaman uyumlu hem de zaman uyumsuz API'leri desteklediğini unutmayın.
Desteklenen Dilleri Alma
Translator'ın diğer işlemleri tarafından desteklenen dil kümesini alır.
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}")
Uç nokta kullanımıyla languages
ilgili örnekler için buradaki diğer örneklere bakın.
Dillerin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Çeviri
Tek bir istekle tek bir kaynak dil metnini birden çok hedef dil metnine işler.
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}")
Uç nokta kullanımıyla translate
ilgili örnekler için buradaki diğer örneklere bakın.
Çevirinin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Karakter Dönüştürme
Kaynak dilin karakterlerini veya harflerini hedef dilin karşılık gelen karakterlerine veya harflerine dönüştürür.
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}")
Uç nokta kullanımıyla transliterate
ilgili örnekler için buradaki diğer örneklere bakın.
Transliterat kavramının kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Tümceyi Kes
Bir metin parçasındaki cümle sınırlarının konumlandırılmasını tanımlar.
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}")
Uç nokta kullanımıyla break sentence
ilgili örnekler için buradaki diğer örneklere bakın.
Kesme cümlesinin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Sözlük Arama
Hedef dildeki kaynak terim için eşdeğer sözcükler döndürür.
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}")
Uç nokta kullanımıyla dictionary lookup
ilgili örnekler için buradaki diğer örneklere bakın.
Sözlük aramanın kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Sözlük Örnekleri
Kaynak terim ve hedef terim çifti için dil bilgisi yapısı ve bağlam örnekleri döndürür.
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}")
Uç nokta kullanımıyla dictionary examples
ilgili örnekler için buradaki diğer örneklere bakın.
Sözlük örneklerinin kavramsal bir tartışması için lütfen hizmet belgelerine bakın.
Sorun giderme
TextTranslator istemci kitaplığını kullanarak Translator Hizmeti ile etkileşime geçtiğiniz zaman, Translator hizmeti tarafından döndürülen hatalar REST API istekleri için döndürülen HTTP durum kodlarıyla aynıdır.
Örneğin, hedef çeviri dili olmadan bir çeviri isteği gönderirseniz, "Hatalı İstek" belirten bir 400
hata döndürülür.
Hizmet tarafından döndürülen farklı hata kodlarını Hizmet Belgelerinde bulabilirsiniz.
Geri Bildirim Sağlama
Hatalarla karşılaşırsanız veya önerileriniz varsa lütfen projenin Sorunlar bölümünde bir sorun oluşturun.
Sonraki adımlar
Samples dizininde daha fazla örnek bulunabilir.
Katkıda bulunma
Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için cla.microsoft.com adresini ziyaret edin.
Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.
Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorularınız veya yorumlarınızla iletişime geçin opencode@microsoft.com .
Azure SDK for Python