Перевод данных в Базу данных Azure для PostgreSQL
Перевод в расширение azure_ai
Служба языка ИИ Azure предоставляет мощные средства и модели для работы с текстовыми данными. Интеграция с схемой azure_cognitive
расширения azure_ai
предоставляет доступ к этому богатому набору функций распознавания естественного языка и обработки, доступных непосредственно из базы данных. Одна из этих функций включает возможность перевода текста с помощью функции translate()
.
Функция azure_cognitive.translate()
.
Перевод на язык доступен в функции azure_cognitive.translate()
. Эта функция принимает входной текст и один или несколько языков, на которые вы хотите перевести его. Функция автоматически обнаруживает исходный язык или вы можете назначить исходный язык для входного текста.
Функция возвращает таблицу, основанную на тексте ответа службы Azure AI Translator. Этот ответ содержит следующие столбцы:
Имя | Описание |
---|---|
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;
Эта команда возвращает одну строку на язык, включая отдельные столбцы для целевого языка и выходного текста.