共用方式為


適用於 Azure Machine Learning 的索引查閱工具 (預覽)

提示流程索引查閱工具可讓您使用常見的向量索引 (例如 Azure AI 搜尋服務、FAISS 和 Pinecone),在提示流程中進行擷取擴增生成 (RAG)。 此工具會自動偵測工作區中的索引,並可讓您選擇要在流程中使用的索引。

重要

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

使用索引查閱工具建置

  1. 在 Azure Machine Learning 工作室中建立或開啟流程。 如需詳細資訊,請參閱建立流程

  2. 選取 [+ 更多工具] > [索引查閱],將索引查閱工具新增至流程。

    更多工具按鈕和下拉式清單的螢幕擷取畫面,顯示 Azure Machine Learning 工作室中的索引查閱工具。

    將索引查閱工具新增至 Azure Machine Learning 工作室中流程的螢幕擷取畫面。

  3. 輸入索引查閱工具輸入參數的值。 LLM 工具可以產生向量輸入。

  4. 視需要將更多工具新增至流程,或選取 [執行] 以執行流程。

  5. 若要深入了解傳回的輸出,請參閱輸出

輸入

以下是可用的輸入參數:

名稱 類型​​ 描述 必要
mlindex_content string 要使用的索引類型。 輸入取決於索引類型。 您可以在下表下方看到 Azure 認知搜尋服務索引 JSON 的範例* Yes
筆查詢 string,Union[string,List[String]] 要查詢的文字。 Yes
query_type string 要執行的查詢類型。 選項包括關鍵字、語意、混合式等等。 Yes
top_k 整數 要傳回的評分最高實體計數。 預設值為 3。 No

*ACS JSON 範例:

embeddings:
  api_base: <api_base>
  api_type: azure
  api_version: 2023-07-01-preview
  batch_size: '1'
  connection:
    id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<AOAI_connection>
  connection_type: workspace_connection
  deployment: <embedding_deployment>
  dimension: <embedding_model_dimension>
  kind: open_ai
  model: <embedding_model>
  schema_version: <version>
index:
  api_version: 2023-07-01-Preview
  connection:
    id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<cogsearch_connection>
  connection_type: workspace_connection
  endpoint: <cogsearch_endpoint>
  engine: azure-sdk
  field_mapping:
    content: id
    embedding: content_vector_open_ai
    metadata: id
  index: <index_name>
  kind: acs
  semantic_configuration_name: azureml-default



輸出

下列 JSON 格式回應是由包含 top-k 評分實體的工具所傳回的範例。 此實體遵循 promptflow-vectordb SDK 所提供之向量搜尋結果的一般結構描述。 針對向量索引搜尋,會填入下列欄位:

欄位名稱 類型 描述
中繼資料 dict 建立索引時,使用者提供的自訂機碼值組
page_content string 正在查閱中使用的向量區塊內容
score float 取決於向量索引中定義的索引類型。 如果索引類型為 Faiss,則分數為 L2 距離。 如果索引類型為 Azure AI 搜尋服務,則分數會是餘弦相似度。
[
  {
    "metadata":{
      "answers":{},
      "captions":{
        "highlights":"sample_highlight1",
        "text":"sample_text1"
      },
      "page_number":44,
      "source":{
        "filename":"sample_file1.pdf",
        "mtime":1686329994,
        "stats":{
          "chars":4385,
          "lines":41,
          "tiktokens":891
        },
        "url":"sample_url1.pdf"
      },
      "stats":{
        "chars":4385,"lines":41,"tiktokens":891
      }
    },
    "page_content":"vector chunk",
    "score":0.021349556744098663
  },

  {
    "metadata":{
      "answers":{},
      "captions":{
        "highlights":"sample_highlight2",
        "text":"sample_text2"
      },
      "page_number":44,
      "source":{
        "filename":"sample_file2.pdf",
        "mtime":1686329994,
        "stats":{
          "chars":4385,
          "lines":41,
          "tiktokens":891
        },
        "url":"sample_url2.pdf"
      },
      "stats":{
        "chars":4385,"lines":41,"tiktokens":891
      }
    },
    "page_content":"vector chunk",
    "score":0.021349556744098663
  },
    
]

如何從舊版工具移轉至索引查閱工具

索引查閱工具會取代三個已淘汰的舊版索引工具:向量索引查閱工具、向量資料庫查閱工具和 Faiss 索引查閱工具。 如果您有包含其中一個工具的流程,請遵循以下步驟來升級流程。

升級您的工具

  1. 更新執行階段

  2. 瀏覽至您的流程。 您可以藉由選取 [撰寫] 底下的 [提示流程] 索引標籤,選取 [流程] 樞紐索引標籤,然後選取流程的名稱,來完成這項操作。

  3. 一旦進入流程,請選取窗格頂端附近的 [+ 更多工具] 按鈕。 應該會開啟下拉式清單,請選取 [索引查閱 [預覽]] 來新增索引查閱工具的執行個體。

    提示流程中 [更多工具] 下拉式清單的螢幕擷取畫面。

  4. 命名新節點,然後選取 [新增]。

    具有名稱的索引查閱節點螢幕擷取畫面。

  5. 在新節點中,選取 [mlindex_content] 文字輸入框。 這應該是清單中的第一個文字輸入框。

    顯示已展開索引查閱節點的螢幕擷取畫面,其中具有紅色框線的 mlindex_content 方塊。

  6. 在出現的 [產生] 選單中,遵循下列指示,從三個舊版工具升級:

    • 如果使用舊版 [向量索引查閱],在 [index_type] 下拉式清單中,選取 [已註冊的索引]。 從 [mlindex_asset_id] 下拉式清單中,選取您的向量索引資產。
    • 如果使用舊版 [Faiss 索引查閱] 工具,在 [index_type] 下拉式清單中選取 [Faiss],並且指定與舊版工具相同的路徑。
    • 如果使用舊版 [向量資料庫查閱] 工具,依據 [index_type] 下拉式清單中的資料庫類型選取 AI 搜尋服務或 Pinecone,並且視需要填寫資訊。
  7. 填寫必要資訊之後,選取 [儲存]。

  8. 返回節點時,應該會在 [mlindex_content] 文字輸入框中填入資訊。 選取旁邊的 [查詢] 文字輸入框,然後選取您想要查詢的搜尋字詞。 您想要選取與 “embed_the_question” 節點輸入相同的值,通常是 “${inputs.question}” 或 “${modify_query_with_history.output}” (如果您在標準流程中則為前者,如果您在聊天流程中則為後者)。

    已展開索引查閱節點的螢幕擷取畫面,在資料格中具有索引資訊。

  9. 藉由按一下 [query_type] 旁邊的下拉式清單,選取查詢類型。 「向量」會產生與舊版流程相同的結果,但視您的索引設定而定,可能會提供其他選項,包括「混合式」和「語意」。

    已展開索引查閱節點的螢幕擷取畫面,其中具有紅色框線的向量搜尋。

  10. 編輯下游元件以取用新加入節點的輸出,而不是舊版向量索引查閱節點的輸出。

  11. 刪除向量索引查閱節點及其父代內嵌節點。

下一步