次の方法で共有


Azure AI Studio のモデルを使用して統合ベクトル化を実装する方法

重要

この機能はパブリック プレビュー段階にあり、追加使用条件の下で提供されます。 この機能は、2024-05-01-Preview REST API でサポートされます。

この記事では、Azure AI Studio モデル カタログの埋め込みモデルにアクセスして、インデックス作成中や Azure AI Search のクエリでベクトル変換を行う方法について説明します。

ワークフローには、モデル デプロイ手順が含まれています。 モデル カタログには、Azure OpenAI、Cohere、Facebook、OpenAI のモデルの埋め込みが含まれています。 モデルのデプロイは、各プロバイダーの課金構造を通じて課金されます。

モデルがデプロイされたら、インデックス作成中に統合ベクトル化に使用するか、クエリ用の AI Studio ベクトル化でモデルを使用できます。

Azure AI Studio モデル カタログから埋め込みモデルをデプロイする

  1. Azure AI Studio モデル カタログを開きます。

  2. 埋め込みモデルのみを表示するフィルターを適用します。 [Inference tasks]\(推論タスク\) で、[Embeddings]\(埋め込み\) を選択します。

    モデルを埋め込むことでフィルター処理する方法が強調表示されている Azure AI Studio モデル カタログ ページのスクリーンショット。

  3. コンテンツのベクトル化に使用するモデルを選択します。 次に、[デプロイ] を選択し、デプロイ オプションを選択します。

    Azure AI Studio モデル カタログを使用したエンドポイントのデプロイのスクリーンショット。

  4. 要求された詳細を入力します。 新しい AI プロジェクトを選択または作成し、[デプロイ] を選択します。 デプロイの詳細は、選択したモデルによって異なります。

  5. プロビジョニング状態を監視して、モデルのデプロイが完了するまで待ちます。 "プロビジョニング"、"更新中"、"成功" の順に変わるはずです。 状態の更新を表示するには、数分ごとに [更新] を選択する必要がある場合があります。

  6. URL、主キー、モデル ID の各フィールドをコピーし、後で使用できるように記録しておきます。 これらの値は、検索インデックス内のベクトル化定義と、インデックス作成中にモデル エンドポイントを呼び出すスキルセットに必要です。

    必要に応じて、キー認証ではなくトークン認証を使用するようにエンドポイントを変更できます。 トークン認証を有効にする場合、必要になる作業は、URL とモデル ID をコピーし、モデルがどのリージョンにデプロイされているかも書き留めておくことだけです。

    AI Studio にデプロイされたエンドポイントのスクリーンショット。後で参照するためにコピーして保存するフィールドが強調表示されています。

  7. これで、デプロイされたモデルを使用するように検索インデックスとインデクサーを構成できるようになりました。

AML スキル ペイロードのサンプル

Azure AI Studio モデル カタログから埋め込みモデルをデプロイする場合は、Azure AI Search の AML スキルを使用してそれらに接続し、ワークロードのインデックスを作成します。

このセクションでは、AML スキルの定義とインデックス マッピングについて説明します。 これには、対応するデプロイされたエンドポイントで動作するように既に構成されているサンプル ペイロードが含まれています。 これらのペイロードのしくみの技術的な詳細については、スキル コンテキストと入力注釈言語に関するページを参照してください。

この AML スキル ペイロードは、AI Studio の次のモデルで動作します。

  • OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
  • OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336

テキスト分割スキルを使用してコンテンツをチャンキングし、ベクトル化するテキストが /document/pages/* パス内にあることを前提としています。 テキストが別のパスから取得されている場合は、それに応じて /document/pages/* パスへのすべての参照を更新します。

URI とキーは、カタログからモデルをデプロイするときに生成されます。 これらの値の詳細については、「Azure AI Studio を使用して大規模言語モデルをデプロイする方法」を参照してください。

{
  "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
  "context": "/document/pages/*",
  "uri": "<YOUR_MODEL_URL_HERE>",
  "key": "<YOUR_MODEL_KEY_HERE>",
  "inputs": [
    {
      "name": "input_data",
      "sourceContext": "/document/pages/*",
      "inputs": [
        {
          "name": "columns",
          "source": "=['image', 'text']"
        },
        {
          "name": "index",
          "source": "=[0]"
        },
        {
          "name": "data",
          "source": "=[['', $(/document/pages/*)]]"
        }
      ]
    }
  ],
  "outputs": [
    {
      "name": "text_features"
    }
  ]
}

AI Studio ベクトル化ペイロードのサンプル

AML スキルとは異なり、AI Studio ベクトル化は、AI Studio モデル カタログを介してデプロイ可能な埋め込みモデルでのみ動作するように調整されています。 主な違いは、要求と応答のペイロードについて心配する必要はありませんが、AI Studio でモデルをデプロイした後にコピーした "モデル ID" に対応する modelName を指定する必要があるということです。

AI Studio からコピーされたプロパティを指定して、インデックス定義でベクトル化を構成する方法のサンプル ペイロードを次に示します。

Cohere モデルの場合は、スキルで行ったように、URL の末尾に /v1/embed パスを追加しないでください。

"vectorizers": [
    {
        "name": "<YOUR_VECTORIZER_NAME_HERE>",
        "kind": "aml",
        "amlParameters": {
            "uri": "<YOUR_URL_HERE>",
            "key": "<YOUR_PRIMARY_KEY_HERE>",
            "modelName": "<YOUR_MODEL_ID_HERE>"
        },
    }
]

トークン認証を使用して接続する

キーベースの認証を使用できない場合は、代わりに、Azure でのロールベースのアクセス制御を介してトークン認証用に AML スキルと AI Studio ベクトル化接続を構成できます。 検索サービスにはシステムまたはユーザー割り当てマネージド ID が必要であり、ID には AML プロジェクト ワークスペースの所有者または共同作成者のアクセス許可が必要です。 その後、スキルとベクトル化の定義からキー フィールドを削除し、resourceId フィールドに置き換えることができます。 AML プロジェクトと検索サービスが異なるリージョンにある場合は、リージョン フィールドも指定します。

"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service

次のステップ