Aracılığıyla paylaş


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 TranslatorCredentialoluş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 RegionTextTranslationClient 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 .