翻译 Azure Database for PostgreSQL 中的数据
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;
此命令为每种语言返回一行,目标语言和输出文本放在单独的列中。