Partager via


Bibliothèque cliente De traduction de texte Azure pour Python - version 1.0.0b1

La traduction de texte est une fonctionnalité d’API REST basée sur le cloud du service Translator qui utilise la technologie de traduction automatique neuronale pour permettre une traduction de texte de source à cible rapide et précise en temps réel dans toutes les langues prises en charge.

Utilisez la bibliothèque cliente de traduction de texte pour Python pour :

  • Retourne une liste des langues prises en charge par les opérations Translate, Transliterate et Dictionary.

  • Restituez du texte en langue source unique dans plusieurs textes de langue cible avec une seule requête.

  • Convertissez le texte d’une langue source en lettres d’un autre script.

  • Retourne des mots équivalents pour le terme source dans la langue cible.

  • Retourne des exemples de structure grammaticale et de contexte pour la paire terme source et terme cible.

| Code sourcePackage (PyPI) | Documentation de référence sur les | API | Documentation produitÉchantillons

Prise en main

Prérequis

  • Python 3.7 ou version ultérieure est requis pour utiliser ce package.
  • Un service Translator existant ou une ressource Cognitive Services.

Installer le package

Installez la bibliothèque cliente De traduction de texte Azure pour Python avec pip :

pip install azure-ai-translation-text

Créer une ressource de service Translator

Vous pouvez créer une ressource Translator après Créer une ressource Translator.

Authentifier le client

L’interaction avec le service à l’aide de la bibliothèque cliente commence par la création d’un instance de la classe TextTranslationClient. Vous aurez besoin d’une clé API ou TokenCredential pour instancier un objet client. Pour plus d’informations sur l’authentification auprès des services cognitifs, consultez Authentifier les demandes auprès du service Translator.

Obtenir une clé API

Vous pouvez obtenir les endpointinformations et RegionAPI key à partir de la ressource Cognitive Services ou du service Translator dans le portail Azure.

Vous pouvez également utiliser l’extrait de code Azure CLI ci-dessous pour obtenir la clé API à partir de la ressource du service Translator.

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

Créer un à l’aide d’une TextTranslationClient clé API et d’informations d’identification de région

Une fois que vous avez la valeur de la clé API et de la région, créez un TranslatorCredential. Cela vous permettra de mettre à jour la clé API sans créer de client.

Avec la valeur du point de terminaison et un Region, TranslatorCredential vous pouvez créer le TextTranslationClient :

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

Concepts clés

TextTranslationClient

A TextTranslationClient est l’interface principale pour les développeurs qui utilisent la bibliothèque cliente de traduction de texte. Il fournit des opérations synchrones et asynchrones pour accéder à une utilisation spécifique du traducteur de texte, comme obtenir la détection des langues prises en charge ou la traduction de texte.

Entrée

Un élément de texte (string) est une unité d’entrée unique à traiter par les modèles de traduction dans le service Translator. Les opérations sur TextTranslationClient peuvent prendre un seul élément de texte ou une collection d’éléments de texte. Pour connaître les limites de longueur des éléments de texte, la taille maximale des requêtes et l’encodage de texte pris en charge, consultez ici.

Exemples

La section suivante fournit plusieurs extraits de code à l’aide de ce client qui a été créé ci-dessus et décrit les fonctionnalités main présentes dans cette bibliothèque cliente. Bien que la plupart des extraits de code ci-dessous utilisent des appels de service synchrones, gardez à l’esprit que le package de bibliothèque Traduction de texte pour Python prend en charge les API synchrones et asynchrones.

Obtenir les langues prises en charge

Permet d’obtenir l’ensemble des langues actuellement prises en charge par d’autres opérations de 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}")

Pour obtenir des exemples sur l’utilisation du point de languages terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour une présentation conceptuelle des langues.

Translate

Restitue un texte en langage source unique dans plusieurs textes de langue cible avec une seule requête.

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

Pour obtenir des exemples sur l’utilisation du point de translate terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour une discussion conceptuelle sur translate.

Transliterate

Convertit des caractères ou des lettres d’une langue source en caractères ou lettres correspondants d’une langue cible.

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

Pour obtenir des exemples sur l’utilisation du point de transliterate terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour une discussion conceptuelle sur le translittération.

Arrêter la phrase

Identifie le positionnement des limites de phrases dans du texte.

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

Pour obtenir des exemples sur l’utilisation du point de break sentence terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour une discussion conceptuelle sur la phrase d’arrêt.

Recherche dans le dictionnaire

Retourne des mots équivalents pour le terme source dans la langue cible.

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

Pour obtenir des exemples sur l’utilisation du point de dictionary lookup terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour une discussion conceptuelle sur la recherche de dictionnaire.

Exemples de dictionnaire

Renvoie des exemples de structure grammaticale et de contexte pour la paire de termes sources et de termes cibles.

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

Pour obtenir des exemples sur l’utilisation du point de dictionary examples terminaison, reportez-vous à d’autres exemples ici.

Reportez-vous à la documentation du service pour obtenir une présentation conceptuelle des exemples de dictionnaire.

Dépannage

Lorsque vous interagissez avec le service Translator à l’aide de la bibliothèque cliente TextTranslator, les erreurs retournées par le service Translator correspondent aux mêmes codes de status HTTP retournés pour les demandes d’API REST.

Par exemple, si vous envoyez une demande de traduction sans langue de traduction cible, une 400 erreur est renvoyée, indiquant « Demande incorrecte ».

Vous trouverez les différents codes d’erreur retournés par le service dans la documentation du service.

Fournir des commentaires

Si vous rencontrez des bogues ou si vous avez des suggestions, signalez un problème dans la section Problèmes du projet.

Étapes suivantes

Vous trouverez d’autres exemples sous le répertoire des exemples .

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, consultez cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.