Traducción de datos en Azure Database for PostgreSQL

Completado

Traducción en la extensión azure_ai

El servicio Azure AI Language proporciona herramientas y modelos eficaces para trabajar con datos de texto. Las integraciones del esquema azure_cognitive de la extensión de azure_ai ofrecen acceso a este amplio conjunto de características de procesamiento y comprensión del lenguaje natural accesibles directamente desde la base de datos. Una de estas funcionalidades incluye la capacidad de traducir texto mediante la función translate().

La función azure_cognitive.translate()

La traducción de idioma está disponible en la función azure_cognitive.translate(). Esta función acepta texto de entrada y uno o varios idiomas en los que desea traducirlo. La función detecta automáticamente el idioma de origen o puede asignar un idioma de origen para el texto de entrada.

La función devuelve una tabla basada en el cuerpo de la respuesta del servicio Azure AI Translator. Esta respuesta incluye las siguientes columnas:

Nombre Descripción
translations Objeto JSON que contiene una tupla para cada idioma de destino y combinación de texto traducido.
detected_language El idioma se basa en la detección automática de idioma. Si especifica un idioma mediante el parámetro de entrada source_language, este parámetro se establece en NULL.
source_text Objeto que contiene el texto de entrada en el script predeterminado del idioma de origen. Esta opción solo está disponible cuando la entrada se expresa en un script que no es el script habitual para el lenguaje. Como si el texto tailandés estuviera escrito en alfabeto latino.

Establecimiento del punto de conexión, la clave y la región del servicio de traducción

Para realizar correctamente llamadas en el servicio language mediante la extensión azure_ai, debe proporcionar el punto de conexión del servicio y una clave. Los comandos siguientes muestran cómo se pueden agregar los valores a la tabla de configuración de 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}');

Llamada a la función azure_cognitive.translate()

La siguiente instrucción SQL permite traducir una frase de ejemplo en inglés a su equivalente en alemán. Esta traducción requiere la extensión azure_ai y la configuración de extensión necesaria ya en vigor.

SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;

Al ejecutar este comando, se devuelve una respuesta similar a la siguiente.

                     translations                     
------------------------------------------------------------------------------------------------
 {"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)

También puede realizar la traducción en varios idiomas en una llamada pasando una matriz de idiomas de salida.

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;

Este comando devuelve una fila por idioma, incluidas columnas independientes para el idioma de destino y el texto de salida.