從 Azure Logic Apps 中的標準工作流程連線到 Azure AI 服務
適用於:Azure Logic Apps (標準)
若要整合企業數據和服務與 AI 技術,您可以使用 標準邏輯應用程式工作流程中的 Azure OpenAI 和 Azure AI 搜尋 內建連接器。 這些連接器支援多種驗證類型,例如 API 金鑰、Microsoft Entra ID 和受控識別。 它們也可以連線到防火牆後方的 Azure OpenAI 服務和 Azure AI 搜尋端點,讓您的工作流程安全地連線到 Azure 中的 AI 資源。
本指南提供如何在工作流程中使用 Azure OpenAI 和 Azure AI 搜尋連接器作業的概觀和範例。
為什麼要搭配 AI 服務使用 Azure Logic Apps?
通常,建置 AI 解決方案牽涉到數個主要步驟,而且需要幾個建置組塊。 主要是,您需要有動態擷取管線和聊天介面,可以與大型語言模型(LLM)和向量資料庫通訊。
提示
若要深入了解,您可以詢問 Azure Copilot 下列問題:
- 什麼是 AI 中的動態擷取管線?
- 什麼是 AI 中的向量資料庫?
若要尋找 Azure Copilot,請在 Azure 入口網站工具列上,選取 [Copilot]。
您可以組合各種元件,不僅要執行數據擷取,還能為聊天介面提供健全的後端。 此後端有助於在互動期間輸入提示併產生可靠的回應。 不過,建立程式碼來管理和控制所有這些元素可能具有挑戰性,這在大部分的解決方案中都是如此。
Azure Logic Apps 提供低程式代碼方法,並提供您作為建置組塊的預先建置連接器來簡化後端程式,以簡化後端程式。 此方法可讓您專注於採購數據,並確保搜尋結果提供目前和相關信息。 透過這些 AI 連接器,您的工作流程會作為協調流程引擎,在 AI 服務與您想要整合的其他元件之間傳輸數據。
如需詳細資訊,請參閱以下資源:
連接器技術參考
Azure OpenAI
Azure OpenAI 服務可讓您存取 OpenAI 的語言模型,其中包括 GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo 和 Embeddings 模型系列。 使用 Azure OpenAI 連接器,您的工作流程可以連線到 Azure OpenAI 服務,並取得數據的 OpenAI 內嵌,或產生聊天完成。
提示
若要深入了解,您可以詢問 Azure Copilot 下列問題:
- 什麼是 AI 中的內嵌?
- AI 中的聊天完成是什麼?
若要尋找 Azure Copilot,請在 Azure 入口網站工具列上,選取 [Copilot]。
邏輯應用程式 | Environment | 連接器版本 |
---|---|---|
標準 | 單一租用戶 Azure Logic Apps 和 App Service 環境 v3 (僅限 Windows 方案) | 內建連接器會出現在連接器資源庫的 [運行時間>應用程式內] 底下,且是以服務提供者為基礎。 內建連接器可以直接存取 Azure 虛擬網路,而不需使用內部部署數據閘道。 如需詳細資訊,請參閱 Azure OpenAI 內建連接器參考。 |
Azure AI 搜尋服務
Azure AI 搜尋是 AI 支援的資訊擷取平臺,可藉由結合大型語言模型與企業數據,協助開發人員建置豐富的搜尋體驗和產生的 AI 應用程式。 使用 Azure AI 搜尋連接器,您的工作流程可以連線到 Azure AI 搜尋以編制檔索引,並針對您的數據執行向量搜尋。
邏輯應用程式 | Environment | 連接器版本 |
---|---|---|
標準 | 單一租用戶 Azure Logic Apps 和 App Service 環境 v3 (僅限 Windows 方案) | 內建連接器會出現在連接器資源庫的 [運行時間>應用程式內] 底下,且是以服務提供者為基礎。 內建連接器可以直接存取 Azure 虛擬網路,而不需使用內部部署數據閘道。 如需詳細資訊,請參閱 Azure AI 搜尋內建連接器參考。 |
驗證
這兩個 AI 連接器都支援多種方式來向 AI 服務端點進行驗證。 這些選項提供符合大部分客戶需求的強固驗證。 這兩個 AI 連接器也可以直接連線到虛擬網路內的 Azure OpenAI 和 Azure AI 搜尋服務。
下列清單描述這些選項,這些選項全都需要您提供服務的端點。
驗證類型 | 描述 |
---|---|
金鑰式驗證 | 提供 AI 服務所產生的 API 金鑰或系統管理員。 |
Microsoft Entra 標識符,先前是 Azure Active Directory | 提供資訊,例如您的 Entra 租使用者、用戶端識別碼和密碼,以做為 Entra 使用者進行驗證。 |
受控識別 | 在 AI 服務和邏輯應用程式資源上啟用受控識別驗證之後,您可以使用該身分識別來驗證連接器的存取權。 |
如需詳細資訊,請參閱以下資源:
- 驗證對 Azure AI 服務的要求 (部分機器翻譯)
- 什麼是 Microsoft Entra ID
- 什麼是 Azure 資源的受控識別
- 使用 Azure Logic Apps 中的受控識別來驗證 Azure 資源的存取和連線
將 Azure OpenAI 或 Azure AI 搜尋動作新增至您的工作流程
目前,適用於 Azure OpenAI 和 Azure AI 搜尋的內建連接器僅提供動作,而非觸發程式。 您可以使用任何符合案例或需求的觸發程式來啟動工作流程,然後 遵循下列一般步驟來新增 Azure OpenAI、Azure AI 搜尋和其他作業的動作。
案例
下列案例只說明您在工作流程中使用 AI 連接器作業的兩種方式:
為您的企業數據建立 知識庫
Azure Logic Apps 提供超過 1,000 個受Microsoft管理的連接器,並原生執行內建連接器,讓您的工作流程安全地與任何數據源連線,例如 SharePoint、Oracle DB、Salesforce、OneDrive、Dropbox、SAP、IBM 等。 每個連接器都提供作業,包括觸發程式、動作或兩者,讓您在工作流程中使用。
例如,您可以從許多觸發程式類型中選取 ,讓您的自動化工作流程依排程執行,或根據特定事件執行,例如將新檔上傳至 SharePoint 網站。 有了如此多的作業,您可以選擇建立 知識庫,並使用 Azure AI 搜尋服務中這些檔的向量內嵌輕鬆地建置檔擷取管線。
如需詳細資訊,請參閱以下資源:
產生完成
Azure Logic Apps 工作流程可以接受輸入,而 Azure OpenAI 服務可以執行完成作業。 這些功能表示您的工作流程可以擷取實時問題、產生數據的解答,或使用 Azure OpenAI 傳送自動化回應。 您可以立即將回應傳送回用戶端或核准工作流程以進行驗證。
如需詳細資訊,請參閱以下資源:
範例程式代碼的案例:內嵌數據並建立聊天互動
此範例示範如何使用 Azure OpenAI 和 Azure AI 搜尋連接器,將擷取數據的後端邏輯細分,並將簡單的聊天交談分成兩個主要工作流程。 為了加快效能,請建立預設不會儲存並儲存每個執行的歷程記錄的無狀態工作流程。
範例指令碼
必要條件
請參閱範例程式 代碼需求。
此範例中的工作流程作業也會使用下列 跨環境參數值 :
參數名稱 | 描述 |
---|---|
aisearch_admin_key | Azure AI 搜尋的管理金鑰 |
aisearch_endpoint | Azure AI 搜尋範例的端點 URL |
aisearch_index_name | 要用於 Azure AI 搜尋範例的索引 |
openapi_api_key | Azure OpenAI 的 API 金鑰 |
openai_deployment_id | Azure OpenAI 範例的部署標識碼 |
openai_endpoint | Azure OpenAI 範例的端點 URL |
tokenize_function_url | 批次和標記數據的自定義 Azure 函式 URL,Azure OpenAI 必須正確建立此範例的內嵌。 如需此函式的詳細資訊,請參閱 「使用內嵌的數據建立聊天」的範例程序代碼。 |
影片:瞭解如何使用邏輯應用程式建置 AI 應用程式
內嵌數據工作流程
若要在建置擷取管線時節省相當長的時間和精力,請使用任何數據源實作下列模式。 此模式會封裝單一租使用者 Azure Logic Apps 中標準工作流程目前提供的所有優點和優點。
此模式中的每個步驟都可確保 AI 能順暢地從數據檔擷取所有重要資訊。 如果以無狀態工作流程的形式執行,此模式也會提供更快的效能。 此方法不僅可簡化程式碼撰寫層面,還能保證您的工作流程具有有效的驗證、監視和部署程式。
步驟 | Task | 基礎作業 | 描述 |
---|---|---|---|
1 | 檢查是否有新數據。 | 收到 HTTP 要求時 | 觸發程式,會根據排程的週期或分別回應特定事件,輪詢或等候新數據送達。 這類事件可能是上傳至特定儲存系統的新檔案,例如 SharePoint、OneDrive 或 Azure Blob 儲存體。 在此範例中 ,要求 觸發程式作業會等候從另一個端點傳送的 HTTP 或 HTTPS 要求。 要求包含新上傳檔的 URL。 |
2 | 取得資料。 | HTTP | 使用觸發程序輸出中的檔案 URL 擷取上傳檔的 HTTP 動作。 |
3 | 撰寫檔詳細數據。 | 組成 | 串連各種項目的數據作業動作。 本範例會串連文件的相關索引鍵/值資訊。 |
4 | 建立令牌字串。 | 剖析檔 | 使用 Compose 動作的輸出,產生令牌字串的數據作業動作。 |
5 | 建立內容區塊。 | 區塊文字 | 數據作業動作,根據每個內容區塊的字元數或令牌數目,將令牌字串分割成片段。 |
6 | 將令牌化數據轉換成 JSON。 | 剖析 JSON | 將資料作業動作,將令牌字串區塊轉換成 JSON 陣列。 |
7 | 選取 [JSON 陣列專案]。 | 選取 | 從 JSON 陣組選取多個項目的數據作業 動作。 |
8 | 產生內嵌。 | 取得多個內嵌 | 針對 每個 JSON 陣列專案建立內嵌的 Azure OpenAI 動作。 |
9 | 選取內嵌和其他資訊。 | 選取 | 選取 內嵌和其他文件信息的數據作業 動作。 |
10 | 為數據編製索引。 | 索引檔 | Azure AI 搜尋 動作,會根據每個選取的內嵌編製數據索引。 |
聊天工作流程
當您的向量資料庫繼續擷取數據時,請確定數據很容易搜尋,以便當使用者提出問題時,後端邏輯應用程式工作流程可以處理提示併產生可靠的回應。
下列模式只是顯示聊天工作流程外觀的一個範例:
步驟 | Task | 基礎作業 | 描述 |
---|---|---|---|
1 | 等候輸入提示。 | 收到 HTTP 要求時 | 觸發程式,會根據排程的週期或分別回應特定事件,輪詢或等候新數據送達。 在此範例中 ,要求 觸發程式會等候並擷取客戶的問題。 |
2 | 模型的輸入系統訊息。 | 組成 | 數據 作業 動作,提供用來定型模型的輸入。 |
3 | 輸入範例問題和回應。 | 組成 | 數據作業動作,提供範例客戶問題和相關聯的角色來定型模型。 |
4 | 搜尋查詢的輸入系統訊息。 | 組成 | 數據 作業 動作,提供搜尋查詢輸入來定型模型。 |
5 | 產生搜尋查詢。 | 執行 JavaScript 程式碼 | 內 嵌程式代碼 動作,使用 JavaScript 根據上述 Compose 動作的輸出,建立向量存放區的搜尋查詢。 |
6 | 將查詢轉換成內嵌。 | 取得聊天完成 | 連線到聊天完成 API 的 Azure OpenAI 動作,可保證聊天交談中的可靠回應。 在此範例中,動作接受搜尋查詢和角色做為模型的輸入,並傳回向量內嵌作為輸出。 |
7 | 取得內嵌。 | 取得內嵌 | 取得 單一向量內嵌的 Azure OpenAI 動作。 |
8 | 搜尋向量資料庫。 | 搜尋向量 | 在 向量存放區中執行搜尋的 Azure AI 搜尋 動作。 |
9 | 建立提示。 | 執行 JavaScript 程式碼 | 使用 JavaScript 建置提示的內嵌程式代碼動作。 |
10 | 執行聊天完成。 | 取得聊天完成 | 連線到聊天完成 API 的 Azure OpenAI 動作,可保證聊天交談中的可靠回應。 在此範例中,動作會接受提示和角色作為模型的輸入,並傳回模型產生的響應作為輸出。 |
11 | 傳回回應。 | 回應 | 當您使用要求觸發程式時,會將結果傳回給呼叫端的要求動作。 |
另請參閱
Azure OpenAI 和 Azure AI 搜尋連接器現已正式推出適用於 Azure Logic Apps 的 Azure OpenAI 和 AI 搜尋連接器(標準版)