適用於 Azure AI 的適用於 PostgreSQL 的 Azure 資料庫延伸模組可讓您使用大型語言模型 (LLMS) ,並在資料庫內建置豐富的生成式 AI 應用程式。 Azure AI 延伸模組可讓資料庫呼叫各種 Azure AI 服務,包括 Azure OpenAI 和 Azure 認知服務,簡化開發流程以便順暢地整合至這些服務。
啟用 azure_ai 延伸模組
在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用 azure_ai 之前,您必須先將它新增至允許清單 (如 如何使用 PostgreSQL 延伸模組 所述),並執行 SHOW azure.extensions; 來檢查是否已正確新增。
秘訣
您可能也想要啟用 pgvector延伸模組,因為它通常與 azure_ai 搭配使用。
然後,您可以連線到目標資料庫並執行 CREATE EXTENSION 命令來安裝延伸模組。 您需要為每個您希望延伸模組可用的資料庫分別重複該命令。
CREATE EXTENSION IF NOT EXISTS 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 Key Vault,以安全的方式管理及輪替金鑰。
若要管理延伸模組所使用的服務密鑰,使用者需要授與它們 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;
相關內容
- 將適用於 PostgreSQL 的 Azure 資料庫與 Azure 認知服務整合。
- Azure Database for PostgreSQL 的生成式 AI。
- 整合 適用於 PostgreSQL 的 Azure 資料庫 與 Azure 機器學習 服務。
- 在適用於 PostgreSQL 的 Azure 資料庫中使用 Azure OpenAI 產生向量內嵌。
- Azure Database for PostgreSQL 的生成式 AI。
- 使用適用於 PostgreSQL 的 Azure 資料庫和 Azure OpenAI 建立建議系統。
- 使用適用於 PostgreSQL 的 Azure 資料庫和 Azure OpenAI 建立語意搜尋。
- 在適用於 PostgreSQL 的 Azure 資料庫中啟用和使用 pgvector。