Opracuj aplikację do czatu opartą na wizji komputerowej

Ukończone

Aby opracować aplikację kliencką, która angażuje się w czaty oparte na obrazach z modelem wielomodalnym, możesz użyć tych samych podstawowych technik używanych na potrzeby czatów opartych na tekście. Wymagane jest połączenie z punktem końcowym, w którym wdrożono model, i używasz tego punktu końcowego do przesyłania monitów składających się z komunikatów do modelu i przetwarzania odpowiedzi.

Kluczową różnicą jest to, że zapytania do czatu opartego na wizji obejmują wieloczęściowe wiadomości użytkownika zawierające zarówno tekst (lub dźwięk, gdzie jest obsługiwany) element zawartości i element zawartości obrazu.

Diagram przedstawiający wieloczęściowy monit przesyłany do modelu.

Reprezentacja JSON monitu zawierającego komunikat użytkownika wieloczęściowego wygląda następująco:

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

Element zawartości obrazu może być:

  • Adres URL pliku obrazu w witrynie sieci Web.
  • Dane obrazu binarnego

W przypadku przesyłania pliku obrazu lokalnego przy użyciu danych binarnych zawartość image_url przyjmuje postać wartości zakodowanej w formacie base64 w formacie adresu URL danych:

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

W zależności od typu modelu i miejsca, w którym go wdrożyłeś, możesz użyć inferencji modeli AI platformy Microsoft Azure lub interfejsów API OpenAI do przesyłania monitów opartych na obrazie. Te biblioteki udostępniają również zestawy SDK specyficzne dla języka, które stanowią abstrakcję podstawowych interfejsów API REST.

W poniższym ćwiczeniu w tym module możesz użyć zestawu SDK języka Python lub platformy .NET dla interfejsu API wnioskowania modelu AI platformy Azure i interfejsu API openAI, aby utworzyć aplikację do czatu z obsługą przetwarzania obrazów.