適用於 PostgreSQL 的 Azure 資料庫上的 Azure AI 延伸模組 - 彈性伺服器
適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
適用於 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 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
組態選項的名稱。 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
函式。 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中,所有系統管理員使用者都獲指派 azure_ai_settings_manager
角色。
升級 Azure AI 延伸模組
允許較新版本的延伸模組引進新功能和就地升級延伸模組。 您可以使用 SQL 命令,將目前安裝的版本與允許的最新版本進行比較:
SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'
若要將已安裝的延伸模組更新為 Azure 所支援的最新可用版本,請使用下列 SQL 命令:
ALTER EXTENSION azure_ai UPDATE;