Перевод данных в База данных Azure для PostgreSQL
Перевод в расширение azure_ai
Служба языка искусственного интеллекта Azure предоставляет мощные инструменты и модели для работы с текстовыми данными. Интеграция с azure_cognitive
схемой расширения предоставляет доступ к этому богатому набору функций распознавания естественного azure_ai
языка и обработки, доступных непосредственно из базы данных. Одна из этих функций включает возможность перевода текста с помощью translate()
функции.
Функция azure_cognitive.translate()
.
Перевод на язык доступен в azure_cognitive.translate()
функции. Эта функция принимает входной текст и один или несколько языков, на которые вы хотите перевести его. Функция автоматически обнаруживает исходный язык или вы можете назначить исходный язык для входного текста.
Функция возвращает таблицу, созданную на основе текста ответа службы Переводчик Azure. Этот ответ содержит следующие столбцы:
Имя | Описание |
---|---|
translations |
Объект JSON, содержащий один кортеж для каждого целевого языка и переведенное сочетание текста. |
detected_language |
Язык основан на автоматическом обнаружении языка. Если указать язык с помощью входного source_language параметра, этот параметр имеет значение NULL. |
source_text |
Объект, содержащий входной текст в скрипте по умолчанию исходного языка. Этот параметр доступен только в том случае, если входные данные выражаются в скрипте, который не является обычным скриптом для языка. Например, будто тайский текст написан на латинице. |
Настройка конечной точки службы перевода, ключа и региона
Чтобы успешно выполнять вызовы к языковой службе с помощью azure_ai
расширения, необходимо указать конечную точку службы и ключ. В следующих командах показано, как параметры можно добавить в таблицу 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}');
azure_cognitive.translate()
Вызов функции
Следующая инструкция SQL позволяет переводить пример фразы на английском языке в эквивалентный язык на немецком языке. Для этого перевода требуется azure_ai
расширение и необходимые параметры расширения.
SELECT a.translations
FROM azure_cognitive.translate('Congratulations on successfully configuring Azure AI Translation!', 'de') a;
Выполнение этой команды возвращает ответ, как показано ниже.
translations
------------------------------------------------------------------------------------------------
{"(de,\"Herzlichen Glückwunsch zur erfolgreichen Konfiguration der Azure AI-Übersetzung!\",)"}
(1 row)
Вы также можете выполнять перевод на несколько языков в одном вызове, передав массив выходных языков.
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;
Эта команда возвращает одну строку на язык, включая отдельные столбцы для целевого языка и выходного текста.