你当前正在访问 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 OpenAI 和 Azure 认知服务,这可简化开发过程,从而实现无缝集成到这些服务。
启用 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_settings
和 azure_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;