Développer une application de conversation basée sur la vision

Effectué

Pour développer une application cliente qui s’engage dans des conversations basées sur la vision avec un modèle modal, vous pouvez utiliser les mêmes techniques de base que celles utilisées pour les conversations textuelles. Vous avez besoin d’une connexion au point de terminaison où le modèle est déployé et vous utilisez ce point de terminaison pour envoyer des invites qui se composent de messages au modèle et traiter les réponses.

La principale différence est que les invites de discussion basées sur l'analyse d'image comprennent des messages utilisateur en plusieurs parties qui incluent un élément de contenu texte (ou audio lorsque cela est pris en charge) ainsi qu'un élément de contenu image.

Diagramme d’une invite à plusieurs composants envoyée à un modèle.

La représentation JSON d’une invite qui inclut un message utilisateur en plusieurs parties ressemble à ceci :

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

L’élément de contenu de l’image peut être :

  • URL d’un fichier image dans un site web.
  • Données d’image binaire

Lorsque vous utilisez des données binaires pour envoyer un fichier image local, le contenu image_url prend la forme d’une valeur encodée en base64 dans un format d’URL de données :

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

Selon le type de modèle et l’emplacement où vous l’avez déployé, vous pouvez utiliser l’inférence de modèle IA Microsoft Azure ou les API OpenAI pour envoyer des invites basées sur la vision. Ces bibliothèques fournissent également des kits SDK spécifiques au langage qui résument les API REST sous-jacentes.

Dans l’exercice suivant dans ce module, vous pouvez utiliser le Kit de développement logiciel (SDK) Python ou .NET pour l’API d’inférence du modèle IA Azure et l’API OpenAI pour développer une application de conversation compatible avec la vision.