你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for PostgreSQL 灵活服务器上的 Azure AI 扩展

适用于: Azure Database for PostgreSQL 灵活服务器

通过适用于 Azure AI 的 Azure Database for PostgreSQL 扩展,能够使用大语言模型 (LLM),并在数据库中构建丰富的生成式 AI 应用程序。  Azure AI 扩展使数据库能够调用各种 Azure AI 服务,包括 Azure OpenAIAzure 认知服务,这可简化开发过程,从而实现无缝集成到这些服务。

启用 azure_ai 扩展

在 Azure Database for PostgreSQL 灵活服务器实例上启用 azure_ai 之前,需要按照如何使用 PostgreSQL 扩展所述将其添加到允许列表中,并检查是否通过运行 SHOW azure.extensions; 正确添加。

提示

你可能还希望启用 pgvector 扩展,因为它通常与 azure_ai 一起使用。

然后,可通过连接到目标数据库并运行 CREATE EXTENSION 命令来安装扩展。 需要对希望扩展可用的每个数据库分别重复该命令。

CREATE EXTENSION azure_ai;

注意

若要从当前连接的数据库中移除扩展,请使用 DROP EXTENSION azure_ai;

安装扩展 azure_ai 后,系统会创建以下三个架构:

  • azure_ai:配置表所在的主体架构以及与之交互的函数。
  • azure_openai:与 OpenAI 相关的函数和复合类型。
  • azure_cognitive:与认知服务相关的函数和复合类型。

该扩展还允许调用 Azure OpenAI 和 Azure 认知服务。

配置 azure_ai 扩展

配置扩展需要提供终结点以连接到 Azure AI 服务和身份验证所需的 API 密钥。 服务设置使用以下函数存储:

权限

Azure AI 访问密钥类似于帐户的根密码。 始终要小心保护访问密钥。 使用 Azure 密钥保管库安全地管理和轮换密钥。 要管理扩展使用的服务密钥,用户需要向其授予的 azure_ai_settings_manager 角色。 以下函数需要该角色:

  • azure_ai.set_setting
  • azure_ai.get_setting

默认情况下,该 azure_ai_settings_manager 角色授予给 azure_pg_admin 角色。

azure_ai.set_setting

用于设置配置选项。

azure_ai.set_setting(key TEXT, value TEXT)

自变量

key

配置选项的名称。 key 的有效值为:

  • azure_openai.endpoint:支持的 OpenAI 终结点(例如 https://example.openai.azure.com)。
  • azure_openai.subscription_key:OpenAI 资源的订阅密钥。
  • azure_cognitive.endpoint:支持的认知服务终结点(例如 https://example.cognitiveservices.azure.com)。
  • azure_cognitive.subscription_key:认知服务资源的订阅密钥。
value

TEXT 表示所选设置的所需值。

azure_ai.get_setting

用于获取配置选项的当前值。

azure_ai.get_setting(key TEXT)

自变量

配置选项的名称。 key 的有效值为:

  • azure_openai.endpoint:支持的 OpenAI 终结点(例如 https://example.openai.azure.com)。
  • azure_openai.subscription_key:OpenAI 资源的订阅密钥。
  • azure_cognitive.endpoint:支持的认知服务终结点(例如 https://example.cognitiveservices.azure.com)。
  • azure_cognitive.subscription_key:认知服务资源的订阅密钥。

返回类型

TEXT 表示所选设置的当前值。

azure_ai.version

azure_ai.version()

返回类型

TEXT 表示 Azure AI 扩展的当前版本。

示例

为 Azure OpenAI 设置终结点和 API 密钥

select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com'); 
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>'); 

为 Azure OpenAI 获取终结点和 API 密钥

select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');

检查 Azure AI 扩展版本

select azure_ai.version();

权限

azure_ai 扩展定义了一个名为 azure_ai_settings_manager 的角色,该角色允许读取和写入与扩展相关的设置。 只有超级用户和 azure_ai_settings_manager 角色的成员才能调用 azure_ai.get_settingsazure_ai.set_settings 函数。 在 Azure Database for PostgreSQL 灵活服务器中,所有管理员用户将分配有 azure_ai_settings_manager 角色。

升级 Azure AI 扩展

较新版本的扩展可以引入新功能,并且允许对该扩展进行就地升级。 可以使用 SQL 命令将当前安装的版本与允许的最新版本进行比较:

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

若要将已安装的扩展更新到 Azure 支持的最新发布版本,请使用以下 SQL 命令:

ALTER EXTENSION azure_ai UPDATE;

后续步骤