描述 Azure AI 延伸模組
azure_ai 延伸模組 是由 Microsoft Postgres 小組建立的強大工具,可在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體與各種 Azure AI 服務之間提供無縫整合。 這項整合可簡化開發程序,可讓您毫不費力地將 AI 功能併入應用程式。
您可使用簡單的函式呼叫,從 SQL 查詢存取 Azure AI 服務,例如自然語言處理、文字分析和生成式 AI 語言模型。 此延伸模組可讓您使用 Azure AI 和 Machine Learning 的強大功能,將進階分析和深入解析新增至您的應用程式,而不需離開 PostgreSQL 資料庫。
此延伸模組可讓您輕鬆地將 Azure OpenAI、Azure AI Services 和 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 資料庫中的複合類型集合。 當您使用 Azure AI 服務的強大功能時,您可受惠於進階分析、機器學習和其他 AI 驅動功能,以取得更深入的見解並做出更好的決策。 利用 azure_ai
延伸模組 PostgreSQL,您可以解鎖全新等級的功能和效能。 延伸模組提供三項主要服務整合:
Azure AI 服務
延伸模組可讓您的資料庫呼叫各種 Azure AI 服務 以從資料中擷取深入解析,例如文字摘要、翻譯和實體擷取。 這些服務可簡化開發程序,讓 AI 功能整合到您的應用程式中以便存取。
Azure OpenAI
Azure OpenAI 服務整合可讓您直接從資料庫叫用 Azure OpenAI API,以產生向量內嵌。 結合 vector
延伸模組,您可將所產生的內嵌直接儲存在 PostgreSQL 資料庫中。 這些內嵌可啟用強大的功能,例如語意搜尋、建議和異常偵測。
Azure Machine Learning
擴充功能可讓您連線到 Azure Machine Learning 以執行推斷。 您可以使用定型的機器學習模型,根據未顯示的新資料進行預測或產生輸出。
啟用 azure_ai 延伸模組
azure_ai
延伸模組必須先經過允許並隨著資料庫安裝,才能加以使用:
- 允許清單組態:執行
SHOW azure.extensions;
,將延伸模組新增至您的允許清單。 - 安裝:連線到您的目標資料庫,並執行下列命令來安裝延伸模組:
CREATE EXTENSION IF NOT EXISTS azure_ai;
建立結構描述
安裝後,延伸模組會在資料庫內建立四個結構描述:
結構描述 | Description |
---|---|
azure_ai |
包含可供與延伸模組互動的組態資料表和函式。 |
azure_cognitive |
包含與 Azure 認知服務相關的函式和複合類型。 |
azure_ml |
包含與 Azure Machine Learning 推斷相關的函式。 |
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 延伸模組的運作方式為何?
以下的範例快速示範如何在適用於 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
延伸模組提供支援。