次の方法で共有


Microsoft Foundry のインデックス検索ツール

重要

この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

プロンプト フローのインデックス参照ツールを使用すると、プロンプト フローで一般的なベクター インデックス (Azure AI 検索、Faiss、Pinecone など) を使用して、拡張生成を取得できます。 このツールは、ワークスペース内のインデックスを自動的に検出し、フローで使用するインデックスの選択を許可します。

[前提条件]

このドキュメントでは、 Microsoft Foundry (クラシック) ポータルのみを参照しています。

この機能には ハブ ベースのプロジェクト を使用する必要があります。 Foundry プロジェクトはサポートされていません。 「 自分が持っているプロジェクトの種類を確認する方法 」と 「ハブベースのプロジェクトを作成する」を参照してください。

Index Lookup ツールを使用したビルド

  1. Microsoft Foundry でフローを作成または開きます。 詳細については、「フローの作成」を参照してください。

  2. [+ その他のツール]>[Index Lookup] の順に選択し、Index Lookup ツールをフローに追加します。

    Foundry ポータルのフローに追加されたインデックス検索ツールを示すスクリーンショット。

  3. Index Lookup ツールの入力パラメーターの値を入力します。 大規模言語モデル (LLM) ツールでは、ベクトル入力を生成できます。

  4. 必要に応じて、フローにさらにツールを追加します。 または、[実行] を選択してフローを実行します。

  5. 返される出力の詳細については、出力の表を参照してください。

入力

次の入力パラメータを使用できます。

名前 タイプ 説明 必須
mlindex_content 文字列 使用するインデックスの種類。 入力はインデックスの種類によって異なります。 Azure AI 検索インデックスの JSON の例は、表の下に示されています。 イエス
Query Union[string, List[String]] クエリ対象となるテキスト。 イエス
クエリタイプ 文字列 実行するクエリの種類。 オプションには、キーワード、セマンティック、ハイブリッドなどがあります。 イエス
top_k 整数 返される上位スコアのエンティティ数。 既定値は 3 です。 いいえ

Azure AI 検索インデックス入力の例を次に示します。

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 形式の応答の例を次に示します。この応答にはスコアが上位 k 個のエンティティが含まれています。 このエンティティは、promptflow-vectordb SDK によって提供されるベクトル検索結果の汎用スキーマに従います。 Vector Index Search では、次のフィールドに値が入力されます。

フィールド名 タイプ 説明
メタデータ 辞書 インデックスの作成時にユーザーが指定したカスタマイズされたキー/値ペア。
page_content 文字列 参照で使用されているベクター チャンクの内容。
スコア 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
  },
    
]