共用方式為


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

適用於:Azure Logic Apps (使用量 + 標準)

若要整合企業服務、系統和數據與 AI 技術,邏輯應用程式工作流程可以連線到 您用於這些整合案例的 Azure OpenAIAzure AI 搜尋 資源。

本指南提供概觀和範例,示範如何在工作流程中使用 Azure OpenAIAzure AI 搜尋 連接器作業。

為什麼要搭配 AI 服務使用 Azure Logic Apps?

通常,建置 AI 解決方案牽涉到數個主要步驟,而且需要幾個建置組塊。 主要是,您需要有動態擷取管線和聊天介面,可以與大型語言模型(LLM)和向量資料庫通訊。

提示

若要深入了解,您可以詢問 Azure Copilot 下列問題:

  • 什麼是 AI 中的動態擷取管線?
  • 什麼是 AI 中的向量資料庫?

若要尋找 Azure Copilot,請在 Azure 入口網站工具列上,選取 [Copilot]

您可以組合各種元件,不僅要執行數據擷取,還能為聊天介面提供健全的後端。 此後端有助於在互動期間輸入提示併產生可靠的回應。 不過,建立程式代碼來管理和控制所有這些元素可能會帶來挑戰,這在大部分的解決方案中都是如此。

Azure Logic Apps 提供低程式代碼方法,並提供您作為建置組塊的預先建置連接器來簡化後端程式,以簡化後端程式。 此方法可讓您專注於採購數據,並確保搜尋結果提供目前和相關信息。 透過這些 AI 連接器,您的工作流程會作為協調流程引擎,在 AI 服務與您想要整合的其他元件之間傳輸數據。

如需詳細資訊,請參閱以下資源:

必要條件

  • Azure 帳戶和訂用帳戶。 如果您沒有 Azure 訂用帳戶,請先註冊免費的 Azure 帳戶

  • Azure AI 搜尋服務和 Azure OpenAI 資源可存取和使用您的工作流程,包括聯機資訊:

  • 您想要存取 Azure OpenAI 和 Azure AI 搜尋資源的邏輯應用程式工作流程。

    這些服務的連接器目前只提供動作,而不是觸發程式。 在您可以新增 Azure AI 連接器動作之前,請確定您的工作流程會從適用於您案例的適當觸發程序開始。

連接器技術參考

在取用工作流程中 ,Azure OpenAIAzure AI 搜尋 受控或「共用」連接器目前處於預覽狀態,並受限於 Azure 預覽版Microsoft補充使用規定。

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]

Azure OpenAI 連接器有不同的版本,以邏輯應用程式類型和裝載模型為基礎

邏輯應用程式 Environment 連接器版本
耗用 多租用戶 Azure Logic Apps 受控的 Azure 裝載連接器,其會出現在 [運行時間>共用] 下的連接器資源庫中。

如需詳細資訊,請參閱 Azure OpenAI 受控連接器參考
標準 單一租使用者 Azure Logic Apps、App Service 環境 v3(僅限 Windows 方案),或混合式部署,這是您自己的基礎結構。 內建連接器,其會出現在連接器資源庫的 [運行時間>應用程式內] 底下,且是以服務提供者為基礎。 內建連接器具有下列功能:

- 多重 驗證類型支援

- 直接存取 Azure 虛擬網路中的資源,以及防火牆後方的 Azure OpenAI 端點。

如需詳細資訊,請參閱 Azure OpenAI 內建連接器參考

Azure AI 搜尋是 AI 支援的資訊擷取平臺,可藉由結合大型語言模型與企業數據,協助開發人員建置豐富的搜尋體驗和產生的 AI 應用程式。 使用 Azure AI 搜尋連接器,您的工作流程可以連線到 Azure AI 搜尋以編制檔索引,並針對您的數據執行向量搜尋。

Azure AI 搜尋連接器有不同的版本,以邏輯應用程式類型和裝載模型為基礎

邏輯應用程式 Environment 連接器版本
耗用 多租用戶 Azure Logic Apps 受控的 Azure 裝載連接器,其會出現在 [運行時間>共用] 下的連接器資源庫中。

如需詳細資訊,請參閱 Azure AI 搜尋受控連接器參考
標準 單一租使用者 Azure Logic Apps、App Service 環境 v3(僅限 Windows 方案),或混合式部署,這是您自己的基礎結構。 內建連接器,其會出現在連接器資源庫的 [運行時間>應用程式內] 底下,且是以服務提供者為基礎。 內建連接器具有下列功能:

- 多重 驗證類型支援

- 直接存取 Azure 虛擬網路中的資源,以及防火牆後方的 Azure OpenAI 端點。

如需詳細資訊,請參閱 Azure AI 搜尋內建連接器參考

驗證

AI 受控連接器需要 API 金鑰以進行驗證。 不過,AI 內建連接器支援 AI 服務端點的多個驗證類型。 這些選項提供符合大部分客戶需求的強固驗證。 這兩個內建連接器也可以直接連線到虛擬網路內或防火牆後方的 Azure OpenAI 和 Azure AI 搜尋資源。

下表描述內建連接器驗證選項,這全都需要您提供 AI 服務端點的 URL:

驗證類型 描述
URL 和金鑰型驗證 提供 AI 服務所產生的 API 金鑰或系統管理員。
Active Directory OAuth (Microsoft Entra ID) 提供資訊,例如您的 Entra 租使用者、用戶端識別碼和密碼,以做為 Entra 使用者進行驗證。
受控識別 在 AI 服務資源和邏輯應用程式資源上設定受控識別驗證之後,您可以使用該身分識別來驗證連接器的存取權。

重要

為了獲得最佳安全性,請盡可能使用 Microsoft Entra ID 搭配 受控識別 進行驗證。 此方法提供更高的安全性,而不需要提供認證。 Azure 會管理此身分識別,並協助保護驗證資訊的安全,因此您不需要自行管理此機密資訊。 若要設定 Azure Logic Apps 的受控識別,請參閱在 Azure Logic Apps 中使用受控識別來驗證對 Azure 資源的存取和連線

如果您必須使用不同的驗證類型,請使用可用的下一個最高層級安全性選項。 例如,假設您必須改用 連接字串 建立連線。 連接字串 包含應用程式存取特定資源、服務或系統所需的授權資訊。 連接字串 中的存取金鑰類似於根密碼。

在生產環境中,一律保護敏感性資訊和秘密,例如認證、憑證、指紋、存取密鑰和 連接字串。 請務必使用 Microsoft Entra ID 和 Azure 金鑰保存庫 安全地儲存這類資訊。 避免將此資訊硬式編碼、與其他用戶共用,或儲存在其他人可存取的任何位置的純文本中。 如果您認為此資訊可能遭到入侵,請儘快輪替您的秘密。 如需詳細資訊,請參閱關於 Azure Key Vault (機器翻譯)。

如需詳細資訊,請參閱以下資源:

將 Azure OpenAI 或 Azure AI 搜尋動作新增至您的工作流程

目前,適用於 Azure OpenAI 和 Azure AI 搜尋的連接器僅提供動作,而非觸發程式。 您可以使用任何符合您案例或需求的觸發程式來啟動工作流程。 根據您是否有取用或標準工作流程,然後 您可以遵循這些一般步驟來新增 Azure OpenAI、Azure AI 搜尋和其他作業的動作。

案例

下列案例只說明您在工作流程中使用 AI 連接器作業的兩種方式:

為您的企業數據建立 知識庫

Azure Logic Apps 提供超過 1,400 個受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 傳回回應。 回應 當您使用要求觸發程式時,會將結果傳回給呼叫端的要求動作。