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 endpoint
informations et Region
API 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.
Azure SDK for Python
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour