共用方式為


在本機使用 RAG 提示流程 (預覽)

擷取增強產生 (RAG) 是一種模式,可搭配預先定型的大型語言模型 (LLM) 和您自己的數據來產生回應。 您可以在 Azure 機器學習 的提示流程中實作 RAG。

在本文中,您將瞭解如何使用 Visual Studio Code 中的提示流程擴充功能,將 RAG 流程從 Azure 機器學習 雲端工作區轉換為本機裝置,並加以使用。

重要

RAG 目前處於公開預覽狀態。 此預覽版是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

必要條件

  • 在本機安裝的 Python

    • 執行 所安裝的 promptflow SDK 和 promptflow-tools 套件
      pip install promptflow promptflow-tools
    • 執行 所安裝的 promptflow-vectordb 工具
      pip install promptflow-vectordb
  • 已安裝 Python提示流程延伸模組的 Visual Studio Code

    Marketplace 中提示流程 VS Code 延伸模組的螢幕擷取畫面。

  • Azure OpenAI 帳戶資源,具有聊天文字內嵌-ada的模型部署

  • 在 Azure Machine Learning 工作室 中建立的向量索引,以供範例提示流程使用

建立提示流程

本教學課程使用數據 RAG 提示流程的範例 Q&A,其中包含使用向量索引查閱工具的查閱節點,從儲存在工作區記憶體 Blob 中的已編製索引檔搜尋問題。

  1. 在 [Azure Machine Learning 工作室 提示流程] 頁面的 [連線] 索引卷標上,如果您還沒有連線,請設定 Azure OpenAI 資源的連線。 如果您使用 Azure AI 搜尋服務索引作為向量索引的數據源,您也必須有 Azure AI 搜尋連線。

  2. 在 [Azure Machine Learning 工作室 提示流程] 頁面上,選取 [建立]。

  3. 在 [建立新的流程] 畫面上,選取 [數據] 圖格上的 [複製],以複製範例提示流程。

    複製的流程會在撰寫介面中開啟。

    在 Azure Machine Learning Studio 中攜帶您自己的資料 QnA 的螢幕擷取畫面。

  4. 在複製流程的 查閱 步驟中,使用向量索引資訊填 入mlindex_content 輸入。

    顯示輸入之 Studio 中查閱節點的螢幕快照。

  5. 使用聊天 API 的連線和部署資訊,填入answer_the_question_with_context步驟

    顯示輸入的 studio 中answer_the_question_with_context節點的螢幕快照。

  6. 請確定範例流程正確執行,並加以儲存。

  7. 選取 [檔案] 區段右上方的 [下載] 圖示。 將流程檔案下載為 ZIP 套件至本機電腦。

    撰寫頁面 [檔案] 區段的螢幕快照,其中已醒目提示 [下載] 圖示。

  8. 將封裝解壓縮至資料夾。

在 VS Code 中使用流程

本文的其餘部分詳細說明如何使用 VS Code 提示流程延伸模組來編輯流程。 如果您不想使用提示流程延伸模組,您可以在任何集成開發環境 (IDE) 中開啟解壓縮的資料夾,並使用 CLI 來編輯檔案。 如需詳細資訊,請參閱 提示流程快速入門

  1. 在已啟用提示流程擴充功能的 VS Code 中,開啟解壓縮的提示流程資料夾。

  2. 選取左側功能表中的 [提示流程 ] 圖示,以開啟 [提示流程管理] 窗格。

    VS Code 左側功能表中提示流程 VS Code 延伸模組圖示的螢幕快照。

  3. 選取 [管理] 窗格中的 [安裝相依性],並確定已選取正確的 Python 解釋器,並安裝 promptflow 和 promptflow-tools 套件。

建立連線

若要在本機使用向量索引查閱工具,您必須建立與雲端相同的向量索引服務連線。

  1. 展開 [提示流程管理] 窗格底部的 [連線] 區段,然後選取 + AzureOpenAI 連線類型旁的圖示。

    在 VS Code 中建立連線的螢幕擷取畫面。

  2. new_AzureOpenAI_connection.yaml 檔案會在編輯窗格中開啟。 編輯此檔案以新增您的 Azure OpenAI 連線 nameapi_base 或端點。 尚未輸入您的 api_key 資訊。

    用於建立 Azure OpenAI 連線的檔案螢幕快照。

  3. 選取檔案底部的 [ 建立連線 ] 連結。 應用程式會執行 以建立連線。 出現提示時,請在終端機中輸入連線的 API 金鑰。

  4. 如果您使用 Azure AI 搜尋服務索引作為向量索引的數據源,也請為要使用的本機向量索引查閱工具建立新的 Azure AI 搜尋連線。 如需詳細資訊,請參閱 Azure 機器學習 的索引查閱工具(預覽版)。

檢查檔案

  1. 開啟 flow.dag.yaml 檔案,然後選取檔案頂端的 [可視化編輯器] 連結。

    流程 dag yaml 檔案的螢幕擷取畫面,其中已醒目提示 VS Code 中的視覺化編輯器。

  2. 在 flow.dag.yaml可視化編輯器版本中,捲動至查閱節點,此節點會取用此流程中的向量索引查閱工具。 在 [mlindex_content] 下,檢查內和索引的路徑和連線

    VS Code 中索引文件節點的螢幕快照,其中顯示輸入。

    注意

    如果您的索引檔是工作區中的數據資產,本機耗用量需要 Azure 驗證。 請確定您已登入正確的 Azure 租使用者,並連線到 Azure 機器學習 工作區。

  3. 在查詢輸入方塊中選取 [編輯] 圖示,這會將原始 flow.dag.yaml 檔案開啟至lookup節點定義。

  4. 請確定此節點中區段的值 tool 設定為 promptflow_vectordb.tool.vector_index_lookup.VectorIndexLookup.search,這是向量索引查閱工具的本機版本。

    查閱節點的工具區段螢幕快照。

    注意

    如果您有本機工具的任何問題 promptflow_vectordb ,請參閱 套件工具找不到錯誤 ,並從 舊版工具移轉至索引查閱工具 以進行疑難解答。

  5. 捲動至 generate_prompt_context 節點,然後在原始 flow.dag.yaml 檔案中,選取 [ 開啟程式代碼檔案 ] 連結。

  6. Python 程式代碼檔案中,確定向量工具的套件名稱為 promptflow_vectordb

    Python 程式代碼檔案的螢幕快照,其中已醒目提示向量工具套件名稱。

  7. 捲動至 answer_the_question_with_context 節點,並確定它使用您所建立的本機連線。 請檢查deployment_name,這是您在這裡用於內嵌的模型。

    螢幕擷取畫面:以醒目提示連線來回答內容節點的問題。

測試並執行流程

捲動至流程頂端,並填入輸入值,並填入此測試回合的單一問題,例如如何使用 SDK V2?,然後選取 [執行] 圖示來執行流程。

流程 dag YAML 檔案的螢幕擷取畫面,其中顯示問題輸入和執行按鈕的輸入和醒目提示值。

如需批次執行和評估的詳細資訊,請參閱將流程執行提交至 Azure 機器學習 工作區