共用方式為


適用於 PostgreSQL 的 Azure 資料庫上的 Azure AI 延伸模組 - 彈性伺服器

適用範圍:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

適用於 Azure AI 的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器延伸模組可讓您使用大型語言模型(LLMS),並在資料庫中建置豐富的生成式 AI 應用程式。  Azure AI 延伸模組可讓資料庫呼叫各種 Azure AI 服務,包括 Azure OpenAIAzure 認知服務,簡化開發流程以便順暢地整合至這些服務。

啟用 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_settingsazure_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;

下一步