描述 Azure AI 扩展
azure_ai扩展 是由 Microsoft Postgres 团队创建的强大工具,可在 Azure Database for PostgreSQL 灵活服务器实例和各种 Azure AI 服务之间无缝集成。 此集成简化了开发过程,使你能够毫不费力地将 AI 功能合并到应用程序中。
可以使用简单的函数调用从 SQL 查询访问 Azure AI 服务,例如自然语言处理、文本分析和生成式 AI 语言模型。 通过此扩展,可以使用 Azure AI 和机器学习的强大功能将高级分析和见解添加到应用程序,而无需离开 PostgreSQL 数据库。
通过扩展,可以轻松地将 Azure OpenAI、Azure AI 服务和 Azure 机器学习集成到数据库中。 总的来说,azure_ai
扩展是一种游戏更改程序,面向希望向其应用程序添加生成式 AI 功能的开发人员。 其丰富的功能和与 Azure AI 和机器学习服务的无缝集成简化了开发过程,使你能够直接在 PostgreSQL 数据库中生成高级 AI 应用程序。
什么是 azure_ai 扩展?
azure_ai
扩展提供了一套全面的工具,可以通过集成 Azure AI 和机器学习服务来增强 PostgreSQL 数据库的功能。 借助 azure_ai
扩展,可以无缝地将生成式 AI 功能合并到数据库中。 此扩展使你能够基于现有信息创建新内容。 这些工具包括架构、用户定义的函数 (UDF) 和可无缝集成到任何 PostgreSQL 数据库的复合类型集合。 使用 Azure AI 服务的强大功能时,可以从高级分析、机器学习和其他 AI 驱动的功能中受益,以获得更深入的见解并做出更好的决策。 借助 azure_ai
扩展 PostgreSQL,可以解锁全新的功能和性能级别。 该扩展提供三个主要服务集成:
Azure AI 服务
该扩展允许数据库调用各种 Azure AI 服务从数据中提取见解,例如文本摘要、翻译和实体提取。 这些服务简化了开发过程,使 AI 功能集成到应用程序中更易于访问。
Azure OpenAI
通过 Azure OpenAI 服务集成,可以直接从数据库调用 Azure OpenAI API,以生成矢量嵌入。 结合 vector
扩展,可以直接将生成的嵌入内容存储在 PostgreSQL 数据库中。 这些嵌入功能支持强大的功能,如语义搜索、建议和异常情况检测。
Azure 机器学习
该扩展允许连接到 Azure 机器学习来执行推理。 可以使用经过训练的机器学习模型根据新看不见的数据进行预测或生成输出。
启用 azure_ai 扩展
在使用 azure_ai
扩展之前,必须允许并随数据库一起安装该扩展:
- Allowlist 配置:通过运行
SHOW azure.extensions;
将扩展添加到允许列表。 - 安装:连接到目标数据库并执行以下命令来安装扩展:
CREATE EXTENSION IF NOT EXISTS azure_ai;
架构创建
安装后,该扩展会在数据库中创建四个架构:
架构 | 说明 |
---|---|
azure_ai |
包含用于与扩展交互的配置表和函数。 |
azure_cognitive |
包含与 Azure 认知服务相关的函数和复合类型。 |
azure_ml |
包含与 Azure 机器学习推理相关的函数。 |
azure_openai |
包含与 Azure OpenAI 相关的函数。 |
配置扩展
该扩展创建 azure_ai.settings
表,这对于配置和管理扩展设置至关重要。 该表安全地托管与集成到数据库的 Azure AI 服务相关的终结点和密钥设置。 若要配置扩展,请提供必要的终结点和 API 密钥进行身份验证。
设置值:
- 使用
azure_ai.set_setting()
函数可以为 Azure AI 服务设置各种配置值。 可以使用此函数将值分配给特定键。 - 例如,可以使用以下命令设置 Azure OpenAI 终结点,并提供相应的订阅密钥:
SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}'); SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
- 使用
检索设置:
- 使用
azure_ai.get_setting()
函数可以检索之前使用set_setting()
设置的值。 - 指定要查看的设置的键,该函数返回关联的值。
- 例如,若要验证在配置表中编写的设置,请使用:
SELECT azure_ai.get_setting('azure_openai.endpoint'); SELECT azure_ai.get_setting('azure_openai.subscription_key');
- 使用
访问密钥和安全性
Azure AI 访问密钥类似于帐户的根密码。 小心处理它们至关重要。 最佳方法是使用 Azure Key Vault 管理和轮换密钥。
需要管理扩展使用的服务密钥的用户需要拥有数据库中的 azure_ai_settings_manager
角色。 需要此角色的函数包括 azure_ai.set_setting()
和 azure_ai.get_setting()
。
azure_ai 扩展的工作方式如何?
下面是有关如何在 Azure Database for PostgreSQL 灵活服务器中使用 azure_ai
扩展的快速示例:
生成嵌入内容:可以通过从 SQL 内联调用用户定义的函数 (UDF) 来创建嵌入内容。 例如:
SELECT azure_openai.create_embeddings('text-embedding-ada-002', 'Learn about building intelligent applications with azure_ai extension and vector');
语言服务:需要情绪分析? 与从 SQL 进行 UDF 调用一样简单:
SELECT a.* FROM azure_cognitive.analyze_sentiment('The GenAI session was awesome', 'en') a;
其他功能:你可以向表添加向量列、创建 HNSW(分层导航小型世界)索引和执行语义搜索 - 全部由
azure_ai
扩展提供支持。