ビジョンベースのチャット アプリを開発する

完了

マルチモーダル モデルを使用してビジョンベースのチャットに関与するクライアント アプリを開発するには、テキストベースのチャットに使用されるのと同じ基本的な手法を使用できます。 モデルがデプロイされているエンドポイントへの接続が必要であり、そのエンドポイントを使用して、メッセージで構成されるプロンプトをモデルに送信し、応答を処理します。

主な違いは、視覚ベースのチャットのプロンプトには、 テキスト (またはサポートされている オーディオ ) コンテンツ項目と 画像 コンテンツ項目の両方を含むマルチパート ユーザー メッセージが含まれていることです。

モデルに送信されるマルチパート プロンプトの図。

マルチパート ユーザー メッセージを含むプロンプトの JSON 表現は、次のようになります。

{ 
    "messages": [ 
        { "role": "system", "content": "You are a helpful assistant." }, 
        { "role": "user", "content": [  
            { 
                "type": "text", 
                "text": "Describe this picture:" 
            },
            { 
                "type": "image_url",
                "image_url": {
                    "url": "https://....."
                }
            }
        ] } 
    ]
} 

画像コンテンツ項目は次の場合があります。

  • Web サイト内のイメージ ファイルの URL。
  • バイナリ 画像データ

バイナリ データを使用してローカル イメージ ファイルを送信する場合、 image_url コンテンツは base64 でエンコードされた値の形式をデータ URL 形式で受け取ります。

{
    "type": "image_url",
    "image_url": {
       "url": "data:image/jpeg;base64,<binary_image_data>"
    }
}

モデルの種類とデプロイ場所に応じて、Microsoft Azure AI モデル推論または OpenAI API を使用して、ビジョンベースのプロンプトを送信できます。 これらのライブラリには、基になる REST API を抽象化する言語固有の SDK も用意されています。

このモジュールに続く演習では、Azure AI モデル推論 API 用の Python または .NET SDK と OpenAI API を使用して、ビジョン対応のチャット アプリケーションを開発できます。