Share via


Azure OpenAI スタジオで GPT-4 Turbo with Vision を使用した画像を含むデータに基づく Azure OpenAI (プレビュー)

この記事では、Azure OpenAI のビジョン モデルである GPT-4 Turbo with Vision に独自の画像データを提供する方法について説明します。 独自のデータに基づく GPT-4 Turbo with Vision を使用すると、モデルは、独自の画像と画像メタデータに基づく取得拡張生成を使用して、よりカスタマイズされ、対象をさらに絞った回答を生成できます。

重要

GPT4-Turbo with Vision のプレビュー モデルが非推奨になると、画像データで Azure OpenAI を使用できなくなります。 画像データを使用して取得拡張生成 (RAG) ソリューションを実装するには、github で次のサンプルを参照してください。

前提条件

  • Azure サブスクリプション。無料で作成できます

  • 目的の Azure サブスクリプション内の Azure OpenAI に付与されたアクセス権。

    現時点では、このサービスへのアクセスは申請によってのみ許可されます。 Azure OpenAI へのアクセスを申請するには、https://aka.ms/oai/access のフォームに入力してください。 問題がある場合は、このリポジトリで問題をオープンしてお問い合わせください。

  • GPT-4 Turbo with Vision モデルがデプロイされた Azure OpenAI リソース。 モデル デプロイの詳細については、リソース デプロイ ガイドを参照してください。

  • 少なくとも Azure OpenAI リソースに対する Cognitive Services 共同作成者ロールが割り当てられていることを確認してください。

データ ソースを追加する

Azure OpenAI Studio にアクセスし、Azure OpenAI リソースにアクセスできる資格情報を使用してサインインします。 サインイン ワークフローの途中または後で、適切なディレクトリ、Azure サブスクリプション、Azure OpenAI リソースを選択します。

Azure OpenAI Studio のチャット プレイグラウンドを示すスクリーンショット。

[アシスタントのセットアップ] タイルで、[Add your data (preview)] (データの追加 (プレビュー))>[+ Add a data source] (+ データ ソースの追加) の順に選択します。

Azure OpenAI Studio のデータを追加するボタンを示すスクリーンショット。

[データ ソースの追加] の選択後に表示されるウィンドウには、データ ソースを選択するための複数の選択肢が表示されます。

データ ソースの選択内容を示すスクリーンショット。

GPT-4 Turbo with Vision のデータ ソースについては、データの追加に 3 つの異なる選択肢があります。

3 つの選択肢ではいずれも、Azure AI Search インデックスを使用して画像から画像の検索を行い、入力したプロンプト画像に対して上位の検索結果を取得します。 Azure Blob Storage かファイルのアップロードを選択した場合、Azure OpenAI によって画像検索インデックスが自動生成されます。 Azure AI Search の場合、画像検索インデックスを用意する必要があります。 次のセクションには、検索インデックスの作成方法に関する詳細が含まれています。

これらのオプションを初めて使う場合、クロス オリジン リソース共有 (CORS) を有効にするように求める赤色の通知が表示されることがあります。 これは、Azure OpenAI から BLOB ストレージ アカウントにアクセスできるように、CORS を有効にするよう求める通知です。 警告を修正するには、[CORS をオンにする] を選択します。

ファイルをアップロードしてデータを追加する

Azure OpenAI を使って、手動で画像ファイルをアップロードし、それらのメタデータを入力できます。 これは、小規模な画像セットで実験しているとき、データ ソースを構築する場合に特に便利です。

  1. 上記の説明にあるように、Azure OpenAI の [データ ソースの選択] ボタンに移動します。 [Upload files](ファイルのアップロード) を選択します。

  2. サブスクリプションを選択します。 アップロードした画像ファイルの保存先となる Azure Blob Storage を選択します。 新しい画像検索インデックスが作成される Azure AI Search リソースを選択します。 任意の画像検索インデックス名を入力します。

    すべてのフィールドに入力したら、一番下にある 2 つのボックスにチェックを入れ、使い方によっては好ましくない状況を招くことを認め、[次へ] を選択します。

    Azure Blob Storage の完成したフィールドを示すスクリーンショット。

    画像ファイルとしてサポートされているファイルの種類は次のとおりです。

    • .jpg
    • .png
    • .gif
    • .bmp
    • .tiff
  3. [ファイルを参照する] を選択し、使用する画像ファイルをローカル ディレクトリから選択します。

  4. 画像ファイルを選択すると、右のテーブルでそのファイルが選択されます。 [Upload files](ファイルのアップロード) を選択します。 ファイルをアップロードすると、それぞれのステータスが [アップロード完了] になります。 [次へ] を選択します。

    アップロードされたファイルを示すスクリーンショット。

  5. 画像ファイルごとに、指定された説明フィールドにメタデータを入力します。 各画像に説明が与えられたら、[次へ] を選択します。

    メタデータ入力フィールドを示すスクリーンショット。

  6. すべての情報が正しいことを確認します。 保存して閉じるを選択します。

既存の Azure AI 検索インデックスがある場合、それをデータ ソースとして使用できます。 画像に検索インデックスをまだ作成していない場合、GitHub の AI Search ベクトル検索リポジトリを利用して作成できます。このリポジトリからは、自分の画像ファイルでインデックスを作成するためのスクリプトが提供されます。 また、このオプションは、上記のオプションのような独自のファイルを使ってデータ ソースを作成してから、プレイグラウンド エクスペリエンスに戻って、既に作成してまだ追加していないデータ ソースを選ぶ場合にも最適です。

  1. 上記の説明にあるように、Azure OpenAI の [データ ソースの選択] ボタンに移動します。 [Azure AI Search] を選択します。

    ヒント

    Azure Blob Storage かファイルのアップロードを選択して作成した画像検索インデックスを選択できます。

  2. お使いのサブスクリプションと、画像検索インデックスの作成に使用した Azure AI Search サービスを選択します。

  3. 自分の画像で作成した Azure AI Search インデックスを選択します。

  4. すべてのフィールドに記入したら、GPT-4 Turbo with Vision のベクトル埋め込みと Azure AI Search の使用による料金発生を認知するように求めるチェックボックスが一番下に 2 つあるので選択します。 [次へ] を選択します。 AI Search リソースに対して CORS がまだオンになっていない場合、警告が表示されます。 警告を修正するには、[CORS をオンにする] を選択します。

    Azure AI Search インデックスを使用するために完成したフィールドを示すスクリーンショット。

  5. 詳細を確認し、[保存して閉じる] を選択します。

Azure Blob Storage を使用してデータを追加する

既存の Azure Blob Storage コンテナーがある場合、それを使用して画像検索インデックスを作成できます。 新しい BLOB ストレージを作成する場合は、Azure Blob Storage のクイックスタート ドキュメントを参照してください。

Blob Storage には、画像ファイルと、画像ファイルのパスとメタデータを含む JSON ファイルを含める必要があります。 この選択肢は、画像ファイルが大量にあるとき、ひとつずつ手動でアップロードしない場合に特に便利です。

Blob Storage にこれらのファイルをまだ入力していないとき、ファイルをひとつずつアップロードする場合、代わりに Azure OpenAI スタジオを使用してファイルをアップロードできます。

Azure Blob Storage コンテナーをデータ ソースとして追加する前に、取り込むすべての画像と、画像ファイル パスとメタデータを含む JSON ファイルが Blob Storage に含まれていることを確認してください。

重要

メタデータ JSON ファイルは以下であることが必須となります。

  • すべて小文字でスペースのない "metadata" という単語で始まるファイル名が与えられていること。
  • 画像ファイルは最大で 10,000 個であること。 コンテナー内のファイルがこの数を超える場合、それぞれにこの最大値が含まれる JSON ファイルを複数用意できます。
[
    {
        "image_blob_path": "image1.jpg",
        "description": "description of image1"
    },
    {
        "image_blob_path": "image2.jpg",
        "description": "description of image2"
    },
    ...
    {
        "image_blob_path": "image50.jpg",
        "description": "description of image50"
    }
]

画像ファイルと少なくとも 1 つのメタデータ JSON ファイルを Blob Storage に入力したら、データ ソースとして Blob Storage を追加する用意が整います。

  1. 上記の説明にあるように、Azure OpenAI の [データ ソースの選択] ボタンに移動します。 Azure Blob Storage を選択します。

  2. サブスクリプション、Azure Blob Storage、ストレージ コンテナーを選択します。 新しい画像検索インデックスがこのリソース グループで作成されるため、Azure AI Search リソースを選択する必要もあります。 Azure AI Search リソースがない場合、ドロップダウンの下にあるリンクを使用し、新しいリソースを作成できます。 Azure Blob Storage リソースに対して CORS がまだ有効になっていない場合、警告が表示されます。 警告を修正するには、[CORS をオンにする] を選択します。

  3. Azure AI 検索リソースを選択したら、[インデックス名] フィールドに検索インデックスの名前を入力します。

    Note

    指定された画像から抽出された画像ベクトルを含むインデックスであることを示す目的で、インデックスの名前の末尾に –v が付きます。 metadata.json の説明フィールドは、インデックスにテキスト メタデータとして追加されます。

  4. すべてのフィールドに記入したら、GPT-4 Turbo with Vision のベクトル埋め込みと Azure AI Search の使用による料金発生を認知するように求めるチェックボックスが一番下に 2 つあるので選択します。 [次へ] を選択します。

    Blob Storage のデータ ソース選択フィールドを示すスクリーンショット。

  5. 詳細を確認し、[保存して閉じる] を選択します。

取り込まれたデータを GPT-4 Turbo with Vision モデルで使用する

上記の 3 つの方法のいずれかを使ってデータ ソースを接続した後、データ インジェスト プロセスが完了するまでに時間がかかります。 プロセスの進捗にともない、アイコンとインジェスト進行中のメッセージが表示されます。 インジェストが完了すると、データ ソースが作成されていることがわかります。

完了したデータ ソース インジェストを示すスクリーンショット。

データ ソースの取り込みが完了すると、データ ソースの詳細と画像検索インデックス名が表示されます。 以上で、この取り込まれたデータは、デプロイされた GPT-4 Turbo with Vision モデルのグラウンディング データとして使う準備は完了です。 このモデルでは、画像検索インデックスの上位取得データを使い、取り込まれたデータに特に準拠した応答を生成します。

テントの画像を含むチャットの例を示すスクリーンショット。

CORS をオンにする

お使いのデータ ソースに対して CORS がまだオンになっていない場合、次のメッセージが表示されます。

CORS が有効になっていないことを伝えるエラーを示すスクリーンショット。

このメッセージが表示された場合、データ ソースの接続時に [CORS をオンにする] を選択します。

その他のヒント

データ ソースの追加と削除

Azure OpenAI では現在のところ、データ ソースはチャット セッションごとに 1 つのみ使用できます。 新しいデータ ソースを追加する場合、まず、既存のデータ ソースを削除する必要があります。 これを行うには、データ ソース情報の下で [データ ソースの削除] を選択します。

データ ソースを削除するとき、警告メッセージが表示されます。 データ ソースを削除すると、チャット セッションがクリアされ、すべてのプレイグラウンド設定がリセットされます。

データ ソースの削除に関する警告を示すスクリーンショット。

重要

GPT-4 Turbo with Vision モデルを使用していないモデル デプロイに切り替えると、データ ソースの削除に関する警告メッセージが表示されます。 データ ソースを削除すると、チャット セッションがクリアされ、すべてのプレイグラウンド設定がリセットされることにご留意ください。

次のステップ