Traduire des données dans Azure DB pour PostgreSQL
Traduction dans l’extension azure_ai
Le service Azure AI Language fournit des outils et des modèles puissants pour l’utilisation de données textuelles. Les intégrations dans le schéma azure_cognitive
de l’extension azure_ai
offrent l’accès à cet ensemble complet de fonctionnalités de compréhension et de traitement du langage naturel accessibles directement à partir de la base de données. L’une de ces fonctionnalités inclut la possibilité de traduire du texte à l’aide de la fonction translate()
.
La fonction azure_cognitive.translate()
La traduction linguistique est disponible dans la fonction azure_cognitive.translate()
. Cette fonction accepte le texte d’entrée et une ou plusieurs langues dans lesquelles vous souhaitez le traduire. La fonction détecte automatiquement la langue source, ou vous pouvez affecter une langue source à votre texte d’entrée.
La fonction retourne une table basée sur le corps de la réponse du service Azure AI Traducteur. Cette réponse inclut les colonnes suivantes :
Nom | Description |
---|---|
translations |
Un objet JSON contenant un tuple pour chaque langue cible et combinaison de texte traduit. |
detected_language |
La langue est basée sur la détection automatique de la langue. Si vous spécifiez une langue à l’aide du paramètre d’entrée source_language , ce paramètre est défini sur NULL. |
source_text |
Un objet contenant le texte d’entrée dans le script par défaut de la langue source. Cette option est disponible uniquement lorsque l’entrée est exprimée dans un script qui n’est pas le script habituel pour la langue. Par exemple, si le texte thaïlandais a été écrit dans un script latin. |
Définir le point de terminaison, la clé et la région du service de traduction
Pour effectuer des appels sur le service de langage à l’aide de l’extension azure_ai
, vous devez fournir le point de terminaison du service et une clé. Les commandes suivantes montrent comment les paramètres peuvent être ajoutés à la table de configuration azure_ai.settings
.
SELECT azure_ai.set_setting('azure_cognitive.endpoint','{endpoint}');
SELECT azure_ai.set_setting('azure_cognitive.subscription_key', '{key}');
SELECT azure_ai.set_setting('azure_cognitive.region', '{region}');
Appel de la fonction azure_cognitive.translate()
L’instruction SQL suivante vous permet de traduire un exemple d’expression en anglais en son équivalent en allemand. Cette traduction nécessite l’extension azure_ai
et les paramètres d’extension nécessaires déjà en place.
SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;
L’exécution de cette commande retourne une réponse semblable à ce qui suit.
translations
------------------------------------------------------------------------------------------------
{"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)
Vous pouvez également effectuer une traduction dans plusieurs langues dans un seul appel en passant par un tableau de langues de sortie.
SELECT (unnest(a.translations)).TARGET_LANGUAGE, (unnest(a.translations)).TEXT
FROM azure_cognitive.translate(text=>'Congratulations on successfully configuring Azure AI Translation!', target_language=>array['de', 'fr']) a;
Cette commande retourne une ligne par langue, y compris des colonnes distinctes pour la langue cible et le texte de sortie.