透過提示流程建置 Copilot
將資料上傳至 Azure AI Studio 並使用與 Azure AI 搜尋服務的整合來對您的資料編製索引之後,您可以整合 RAG 模式與提示流程以建置 Copilot 應用程式。
提示流程是一種開發架構,用來定義可協調與 LLM 互動的流程。
流程是從一或多個輸入開始,通常是使用者輸入的問題或提示,而在反覆式交談的情況下,則為到目前為止的聊天歷程記錄。
然後,流程會定義為一系列的連線工具,每個工具都會對輸入和其他環境變數執行特定作業。 您可以在提示流程中包含多種類型的工具,以執行下列工作:
- 執行自訂 Python 程式碼
- 查閱索引中的資料值
- 建立提示變體 - 可讓您定義大型語言模型 (LLM) 提示的多個版本、變化系統訊息或提示文字,以及比較和評估每個變體的結果。
- 提交提示給 LLM 以產生結果。
最後,流程有一或多個輸出,通常是傳回從 LLM 產生的結果。
在提示流程中使用 RAG 模式
在提示流程中使用 RAG 模式的關鍵是使用索引查閱工具來擷取索引中的資料,讓流程中的後續工具可以使用結果來增強用來從 LLM 產生輸出的提示。
使用範例建立聊天流程
提示流程提供各種範例,您可以用來作為建立應用程式的起點。 當您想要在應用程式中結合 RAG 和語言模型時,您可以在 資料範例上複製多回合問答。
此範例包含包含 RAG 和語言模型的必要元素:
- 將歷程記錄附加至聊天輸入,以問題內容化形式定義提示。
- 使用搜尋索引從資料中查閱相關資訊。
- 使用從索引擷取的資料來增強問題,以產生提示內容。
- 新增系統訊息並建構聊天記錄,以建立提示變體。
- 將提示提交至產生自然語言回應的語言模型。
讓我們更深入地探索每個元素。
使用歷程記錄修改查詢
流程的第一個步驟是大型語言模型 (LLM) 節點,它會採用聊天記錄和使用者的最後一個問題,並產生包含所有必要資訊的新問題。 如此一來,您就會產生由流程其餘部分處理的更簡潔的輸入。
查閱相關資訊
接下來,您可以使用索引查閱工具來查詢您使用整合式 Azure AI 搜尋功能建立的搜尋索引,並從資料來源尋找相關資訊。
提示
深入瞭解 索引查閱工具。
產生提示內容
索引查閱工具的輸出是您在產生回應給使用者時要使用的擷取內容。 您想要在傳送至語言模型的提示中使用輸出,這表示您想要將輸出剖析為更適合的格式。
索引查閱工具的輸出可以包含前 n 個結果 (視您設定的參數而定)。 當您產生提示內容時,您可以使用 Python 節點逐一查看從資料來源擷取的文件,並將其內容和來源合併成一個文件字串。 字串將會用於您在流程下一個步驟中傳送至語言模型的提示中。
定義提示變數
當您建構想要傳送至語言模型的提示時,您可以使用變體來代表不同的提示內容。
當聊天流程中包含 RAG 時,您的目標是建立聊天機器人的回應。 除了從資料來源擷取相關內容之外,您也可以透過指示聊天機器人使用內容並以事實為目標,來影響聊天機器人回應的基礎。
透過提示變體,您可以在提示中提供不同的系統訊息,以探索哪些內容提供了最基本的基礎。
使用內容聊天
最後,您可以使用 LLM 節點將提示傳送至語言模型,以使用從資料來源擷取的相關內容,以產生回應。 此節點的回應也是整個流程的輸出。
設定範例聊天流程以使用您所選擇的索引資料和語言模型之後,您可以部署流程,並將之與應用程式整合,以提供使用者 Copilot 體驗。