Bagikan melalui


Pustaka klien Azure Text Translation untuk Python - versi 1.0.0b1

Terjemahan Teks adalah fitur REST API berbasis cloud dari layanan Penerjemah yang menggunakan teknologi terjemahan mesin neural untuk memungkinkan terjemahan teks sumber ke target yang cepat dan akurat secara real time di semua bahasa yang didukung.

Gunakan pustaka klien Terjemahan Teks untuk Python untuk:

  • Mengembalikan daftar bahasa yang didukung oleh operasi Terjemahkan, Transliterasi, dan Kamus.

  • Render teks bahasa sumber tunggal ke beberapa teks bahasa target dengan satu permintaan.

  • Mengonversi teks bahasa sumber dalam huruf dari skrip yang berbeda.

  • Mengembalikan kata yang setara untuk istilah sumber dalam bahasa target.

  • Mengembalikan struktur tata bahasa dan contoh konteks untuk istilah sumber dan pasangan istilah target.

Kode sumber | Paket (PyPI) | Dokumentasi | referensi API Dokumentasi | produk Sampel

Memulai

Prasyarat

  • Python 3.7 atau yang lebih baru diharuskan untuk menggunakan paket ini.
  • Layanan Penerjemah yang ada atau sumber daya Cognitive Services.

Instal paketnya

Instal pustaka klien Terjemahan Teks Azure untuk Python dengan pip:

pip install azure-ai-translation-text

Membuat sumber daya layanan Penerjemah

Anda dapat membuat sumber daya Penerjemah setelah Membuat sumber daya Penerjemah.

Mengautentikasi klien

Interaksi dengan layanan menggunakan pustaka klien dimulai dengan membuat instans kelas TextTranslationClient . Anda akan memerlukan kunci API atau TokenCredential untuk membuat instans objek klien. Untuk informasi selengkapnya tentang mengautentikasi dengan layanan kognitif, lihat Mengautentikasi permintaan ke Layanan Penerjemah.

Mendapatkan kunci API

Anda bisa mendapatkan endpoint, API key dan Region dari sumber daya Cognitive Services atau informasi sumber daya layanan Penerjemah di Portal Microsoft Azure.

Atau, gunakan cuplikan Azure CLI di bawah ini untuk mendapatkan kunci API dari sumber daya layanan Penerjemah.

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

TextTranslationClient Membuat menggunakan kunci API dan kredensial Wilayah

Setelah Anda memiliki nilai untuk kunci API dan Wilayah, buat TranslatorCredential. Ini akan memungkinkan Anda memperbarui kunci API tanpa membuat klien baru.

Dengan nilai titik akhir, TranslatorCredential dan Region, Anda dapat membuat TextTranslationClient:

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

Konsep utama

TextTranslationClient

TextTranslationClient adalah antarmuka utama untuk pengembang yang menggunakan pustaka klien Terjemahan Teks. Ini menyediakan operasi sinkron dan asinkron untuk mengakses penggunaan penerjemah teks tertentu, seperti mendapatkan deteksi bahasa atau terjemahan teks yang didukung.

Input

Elemen teks (string), adalah satu unit input yang akan diproses oleh model terjemahan dalam layanan Penerjemah. Operasi pada TextTranslationClient mungkin mengambil elemen teks tunggal atau kumpulan elemen teks. Untuk batas panjang elemen teks, ukuran permintaan maksimum, dan pengodean teks yang didukung lihat di sini.

Contoh

Bagian berikut menyediakan beberapa cuplikan kode menggunakan yang clientdibuat di atas, dan mencakup fitur utama yang ada di pustaka klien ini. Meskipun sebagian besar cuplikan di bawah ini menggunakan panggilan layanan sinkron, perlu diingat bahwa paket pustaka Terjemahan Teks untuk Python mendukung API sinkron dan asinkron.

Dapatkan Bahasa yang Didukung

Mendapatkan sekumpulan bahasa yang saat ini didukung oleh operasi lain dari Penerjemah.

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}")

Untuk sampel tentang menggunakan languages titik akhir, lihat lebih banyak sampel di sini.

Silakan merujuk ke dokumentasi layanan untuk diskusi konseptual bahasa.

Terjemahan

Merender teks bahasa sumber tunggal ke beberapa teks bahasa target dengan satu permintaan.

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}")

Untuk sampel tentang menggunakan translate titik akhir, lihat lebih banyak sampel di sini.

Silakan lihat dokumentasi layanan untuk diskusi konseptual terjemahan.

Transliterasi

Mengonversi karakter atau huruf dari bahasa sumber ke karakter atau huruf yang sesuai dari bahasa target.

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}")

Untuk sampel tentang menggunakan transliterate titik akhir, lihat lebih banyak sampel di sini.

Silakan lihat dokumentasi layanan untuk diskusi konseptual transliterasi.

Pecahkan Kalimat

Mengidentifikasi posisi batas kalimat dalam sepotong teks.

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}")

Untuk sampel tentang menggunakan break sentence titik akhir, lihat lebih banyak sampel di sini.

Silakan merujuk ke dokumentasi layanan untuk diskusi konseptual tentang kalimat putus.

Pencarian Kamus

Mengembalikan kata-kata yang setara untuk istilah sumber dalam bahasa target.

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}")

Untuk sampel tentang menggunakan dictionary lookup titik akhir, lihat lebih banyak sampel di sini.

Silakan lihat dokumentasi layanan untuk diskusi konseptual pencarian kamus.

Contoh Kamus

Mengembalikan struktur tata bahasa dan contoh konteks untuk istilah sumber dan pasangan istilah target.

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}")

Untuk sampel tentang menggunakan dictionary examples titik akhir, lihat lebih banyak sampel di sini.

Silakan lihat dokumentasi layanan untuk diskusi konseptual contoh kamus.

Pemecahan Masalah

Saat Anda berinteraksi dengan Layanan Penerjemah menggunakan pustaka klien TextTranslator, kesalahan yang dikembalikan oleh layanan Penerjemah sesuai dengan kode status HTTP yang sama yang dikembalikan untuk permintaan REST API.

Misalnya, jika Anda mengirimkan permintaan terjemahan tanpa bahasa terjemahan target, kesalahan 400 dikembalikan, yang menunjukkan "Permintaan Buruk".

Anda dapat menemukan berbagai kode kesalahan yang dikembalikan oleh layanan dalam Dokumentasi Layanan.

Berikan Umpan Balik

Jika Anda menemukan bug atau memiliki saran, silakan ajukan masalah di bagian Masalah proyek.

Langkah berikutnya

Lebih banyak sampel dapat ditemukan di bawah direktori sampel .

Berkontribusi

Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi cla.microsoft.com.

Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.

Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.