在適用於 PostgreSQL 的 Azure 資料庫中翻譯資料

已完成

azure_ai 延伸模組中的翻譯

Azure AI 語言服務提供功能強大的工具和模型來處理文字資料。 azure_ai 延伸模組 azure_cognitive 結構描述中的整合可讓您直接從資料庫存取這組豐富的自然語言理解與處理功能。 其中一項功能包括能夠使用 translate() 函式來翻譯文字。

azure_cognitive.translate() 函式

azure_cognitive.translate() 函式提供語言翻譯。 此函式接受輸入文字,以及您想要翻譯的一或多種語言。 函式會自動偵測來源語言,或者您可以為輸入文字指派來源語言。

函式會傳回根據 Azure AI 翻譯工具服務回應本文所建立的資料表。 此回應包含下列資料行:

名稱 描述
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;

此命令會針對每個語言傳回一個資料列,包括目標語言和輸出文字的個別資料行。