描述 Azure AI 延伸模組

已完成

azure_ai 擴充功能是由 Microsoft Postgres 團隊開發的強大工具,能無縫整合您的 Azure Database for PostgreSQL 靈活伺服器實例與各種 Foundry 工具。 這項整合可簡化開發程式,並可讓您毫不費力地將 AI 功能併入應用程式。

你可以透過簡單的函式呼叫,從 SQL 查詢中存取 Foundry 工具,如自然語言處理、文本分析和生成式 AI 語言模型。 此延伸模組可讓您使用 Azure AI 和 Machine Learning 的強大功能,將進階分析和深入解析新增至您的應用程式,而不需要離開 PostgreSQL 資料庫。

這個擴充功能讓你可以輕鬆將 Azure OpenAI、Microsoft Foundry 和 Azure Machine Learning 整合進你的資料庫。 整體來說,azure_ai 延伸模組是一種遊戲規則改變者,可供想要在其應用程式中新增生成式 AI 功能的開發人員使用。 其豐富的功能與 Azure AI 和 Machine Learning 服務緊密整合可簡化開發程式,並讓您直接在 PostgreSQL 資料庫中建置進階 AI 應用程式。

什麼是azure_ai延伸模組?

azure_ai 延伸模組提供完整的工具套件,可藉由整合 Azure AI 和 Machine Learning 服務來增強 PostgreSQL 資料庫的功能。 透過擴充 azure_ai 功能,您可以順暢地將產生的 AI 功能併入資料庫。 此延伸模組可讓您根據現有資訊建立新的內容。 這些工具包括架構集合、使用者定義函式 (UDF),以及可順暢整合到任何 PostgreSQL 資料庫的複合類型。 當你善用 Foundry 工具的力量時,可以利用先進的分析、機器學習及其他 AI 驅動功能,獲得更深入的洞見並做出更佳決策。 利用 azure_ai 延伸模組 PostgreSQL,您可以解鎖全新等級的功能和效能。 延伸模組提供三個主要服務整合:

鑄造工具

這個擴充功能讓你的資料庫能調用各種 Foundry 工具 ,從資料中提取洞見,例如文字摘要、翻譯和實體擷取。 這些服務可簡化開發程式,讓 AI 功能整合到您的應用程式中更容易存取。

Azure OpenAI

Azure OpenAI 服務整合可讓您直接從資料庫叫用 Azure OpenAI API,以產生向量內嵌。 結合擴充 vector 功能,您可以直接將產生的內嵌儲存在 PostgreSQL 資料庫中。 這些內嵌可啟用強大的功能,例如語意搜尋、建議和異常偵測。

Azure Machine Learning

擴充功能可讓您連線到 Azure Machine Learning 以執行推斷。 您可以使用定型的機器學習模型,根據新看不見的數據進行預測或產生輸出。

啟用azure_ai擴充功能

在您使用 azure_ai 擴充功能之前,必須先在資料庫中允許並安裝此擴充功能。

  1. Allowlist 組態:執行 SHOW azure.extensions;,將擴充功能新增至您的allowlist。
  2. 安裝:連線到您的目標資料庫,並執行下列命令來安裝延伸模組:
CREATE EXTENSION IF NOT EXISTS azure_ai;

建立結構描述

安裝之後,擴充功能會在資料庫內建立四個架構:

圖式 說明
azure_ai 包含與延伸模組互動的組態數據表和函式。
azure_cognitive 包含與 Azure 認知服務相關的函式和複合類型。
azure_ml 包含與 Azure Machine Learning 推斷相關的函式。
azure_openai 包含與 Azure OpenAI 相關的函式。

設定擴充功能

延伸模組會 azure_ai.settings 建立數據表,這對設定和管理延伸模組設定至關重要。 該表格安全地存放與你整合到資料庫中的 Foundry 工具相關的端點與金鑰設定。 若要設定擴充功能,請提供必要的端點和 API 金鑰以進行驗證。

  1. 設定值

    • 這個 azure_ai.set_setting() 功能允許你為 Foundry 工具 設定 各種設定值。 您可以使用此函式將值指派給特定索引鍵。
    • 例如,您可以使用下列命令來設定 Azure OpenAI 端點 並提供對應的訂用帳戶 密鑰
    SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
    SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
    
  2. 正在擷取設定

    • 函式 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延伸模組的運作方式為何?

以下的範例快速示範如何在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中輕鬆使用 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 提供。