Entwickeln einer visionbasierten Chat-App

Abgeschlossen

Um eine Client-App zu entwickeln, die visionsbasierte Chats mit einem multimodalen Modell verwendet, können Sie dieselben grundlegenden Techniken verwenden, die für textbasierte Chats verwendet werden. Sie benötigen eine Verbindung mit dem Endpunkt, an dem das Modell bereitgestellt wird, und Sie verwenden diesen Endpunkt, um Eingabeaufforderungen zu senden, die aus Nachrichten an das Modell bestehen und die Antworten verarbeiten.

Der Hauptunterschied besteht darin, dass Aufforderungen für einen sehbasierten Chat mehrteilige Benutzernachrichten enthalten, die sowohl ein Textelement (oder Audio , bei dem unterstützt wird) als auch ein Bildinhaltselement enthalten.

Diagramm einer mehrteiligen Eingabeaufforderung, die an ein Modell übermittelt wird.

Die JSON-Darstellung einer Eingabeaufforderung, die eine mehrteilige Benutzernachricht enthält, sieht ungefähr wie folgt aus:

{ 
    "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://....."
                }
            }
        ] } 
    ]
} 

Das Bildinhaltselement kann wie folgt sein:

  • Eine URL zu einer Bilddatei auf einer Website.
  • Binäre Bilddaten

Bei Verwendung von Binärdaten zum Senden einer lokalen Bilddatei übernimmt der image_url Inhalt die Form eines base64-codierten Werts in einem Daten-URL-Format:

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

Abhängig vom Modelltyp und dem Ort der Bereitstellung können Sie Microsoft Azure AI Model Inference oder OpenAI-APIs verwenden, um visuelle Eingabeaufforderungen zu übermitteln. Diese Bibliotheken stellen auch sprachspezifische SDKs bereit, die die zugrunde liegenden REST-APIs abstrahieren.

In der Übung, die in diesem Modul folgt, können Sie das Python- oder .NET SDK für die Azure AI Model Inference-API und die OpenAI-API verwenden, um eine visionfähige Chatanwendung zu entwickeln.