共用方式為


從 Azure Logic Apps 中的標準工作流程連線到 Azure AI 服務

適用於:Azure Logic Apps (標準)

若要整合企業數據和服務與 AI 技術,您可以使用 標準邏輯應用程式工作流程中的 Azure OpenAIAzure 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 搜尋是 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 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 應用程式

瞭解如何使用邏輯應用程式建置 AI 應用程式

內嵌數據工作流程

若要在建置擷取管線時節省相當長的時間和精力,請使用任何數據源實作下列模式。 此模式會封裝單一租使用者 Azure Logic Apps 中標準工作流程目前提供的所有優點和優點。

此模式中的每個步驟都可確保 AI 能順暢地從數據檔擷取所有重要資訊。 如果以無狀態工作流程的形式執行,此模式也會提供更快的效能。 此方法不僅可簡化程式碼撰寫層面,還能保證您的工作流程具有有效的驗證、監視和部署程式。

此螢幕快照顯示實作數據擷取功能的 Azure 入口網站、標準工作流程設計工具及工作流程作業。

步驟 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 搜尋 動作,會根據每個選取的內嵌編製數據索引。

聊天工作流程

當您的向量資料庫繼續擷取數據時,請確定數據很容易搜尋,以便當使用者提出問題時,後端邏輯應用程式工作流程可以處理提示併產生可靠的回應。

下列模式只是顯示聊天工作流程外觀的一個範例:

顯示實作聊天互動 Azure 入口網站、標準工作流程設計工具及工作流程作業的螢幕快照。

步驟 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 搜尋連接器(標準版)