Partager via


Démarrage rapide : Utiliser des images dans vos conversations IA

Commencez à utiliser des images dans vos conversations avec Azure OpenAI dans azure AI Foundry Models.

Important

Des frais d'utilisation supplémentaires peuvent s'appliquer lors de l'utilisation de modèles d'achèvement de chat avec fonctionnalité de vision.

Utilisez cet article pour commencer à utiliser Azure AI Foundry pour déployer et tester un modèle d'achèvement de chat avec compréhension d'images.

Prérequis

Préparer votre média

Vous avez besoin d’une image pour suivre ce démarrage rapide. Vous pouvez utiliser cet exemple d’image ou toute autre image à votre disposition.

Photo d’un accident de voiture qui peut être utilisé pour suivre le guide de démarrage rapide.

Accéder à Azure AI Foundry

  1. Accédez à Azure AI Foundry et connectez-vous avec les informations d’identification associées à votre ressource Azure OpenAI. Pendant ou après le flux de travail de connexion, sélectionnez le répertoire approprié, l’abonnement Azure et la ressource Azure OpenAI.
  2. Sélectionnez le projet dans lequel vous souhaitez travailler.
  3. Dans le menu de navigation de gauche, sélectionnez Modèles + points de terminaison, puis sélectionnez + Déployer le modèle.
  4. Choisissez un déploiement prenant en charge les images en sélectionnant le nom du modèle : gpt-4o ou gpt-4o-mini. Dans la fenêtre qui s’affiche, sélectionnez un nom et un type de déploiement. Vérifiez que votre ressource Azure OpenAI est connectée. Pour plus d’informations sur le déploiement de modèle, consultez le guide de déploiement de ressources.
  5. Sélectionnez Déployer.
  6. Ensuite, sélectionnez votre nouveau modèle et sélectionnez Ouvrir dans le terrain de jeu. Dans le terrain de jeu de conversation, le déploiement que vous avez créé doit être sélectionné dans la liste déroulante Déploiement.

Terrain de jeu

Dans cette session de conversation, vous demandez à l’assistant de comprendre les images que vous entrez.

Pour obtenir de l’aide générale sur la configuration de l’Assistant, les sessions de conversation, les paramètres et les panneaux, reportez-vous au guide de démarrage rapide Conversation.

Démarrer une session de conversation pour analyser des images

Dans cette session de conversation, vous demandez à l’assistant de comprendre les images que vous entrez.

  1. Pour commencer, vérifiez que votre déploiement prenant en charge les images est sélectionné dans la liste déroulante Déploiement.

  2. Dans la zone de texte contextuelle du panneau Configuration, fournissez cette invite pour guider l'assistant : "You're an AI assistant that helps people find information." Vous pouvez également adapter l'invite à votre image ou à votre scénario.

    Remarque

    Nous vous recommandons de mettre à jour le message système pour qu’il soit spécifique à la tâche afin d’éviter des réponses inutiles de la part du modèle.

  3. Sélectionnez Appliquer les modifications pour enregistrer vos modifications.

  4. Dans le volet de session de conversation, sélectionnez le bouton de pièce jointe pour Charger l’image. Choisissez votre image.

  5. Ajoutez l'invite suivante dans le champ de discussion : Describe this image , puis sélectionnez l'icône d'envoi pour la soumettre.

  6. L'icône d'envoi est remplacée par un bouton d'arrêt. Si vous le sélectionnez, l’assistant cesse de traiter votre demande. Pour ce guide de démarrage rapide, laissez l’assistant terminer sa réponse.

  7. L’assistant répond avec une description de l’image.

  8. Posez une question de suivi relative à l’analyse de votre image. Vous pouvez entrer : "What should I highlight about this image to my insurance company?".

  9. Vous devez recevoir une réponse pertinente similaire à ce qui s’affiche ici :

    When reporting the incident to your insurance company, you should highlight the following key points from the image:  
    
    1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight.  
    
    2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident.  
    
    3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective.  
    
    4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes.  
    
    5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context.  
    
    6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well.  
    
    Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
    

Afficher et exporter du code

À n’importe quel moment de la session de conversation, vous pouvez activer le commutateur Afficher au format JSON brut en haut de la fenêtre de conversation pour voir la conversation au format JSON. Voici ce qu’il ressemble au début de la session de conversation de démarrage rapide :

[
	{
		"role": "system",
		"content": [
			"You are an AI assistant that helps people find information."
		]
	},
]

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Utilisez cet article pour commencer à utiliser les API REST Azure OpenAI pour déployer et utiliser le modèle GPT-4 Turbo avec Vision.

Prérequis

Remarque

Ce n’est actuellement pas pris en charge pour désactiver le filtrage de contenu pour le modèle GPT-4 Turbo avec Vision.

Récupérer la clé et le point de terminaison

Pour appeler correctement les API Azure OpenAI, vous avez besoin des informations suivantes sur votre ressource Azure OpenAI :

Variable Nom Valeur
Point de terminaison api_base La valeur du point de terminaison se trouve sous Clés et point de terminaison pour votre ressource dans le portail Azure. Vous pouvez également trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/.
Clé api_key La valeur de la clé se trouve également sous Clés et point de terminaison pour votre ressource dans le portail Azure. Azure génère deux clés pour votre ressource. Vous pouvez utiliser l’une ou l’autre de ces valeurs.

Accédez à votre ressource sur le portail Azure. Dans le volet de navigation, sélectionnez Clés et point de terminaison sous Gestion des ressources. Copiez la valeur Point de terminaison et une valeur de clé d’accès. Vous pouvez utiliser la valeur CLÉ 1 ou CLÉ 2. Avoir deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.

Capture d’écran montrant la page Clés et point de terminaison pour une ressource Azure OpenAI dans le portail Azure.

Créer une application Python

Créez un fichier Python nommé quickstart.py. Ouvrez le nouveau fichier dans votre éditeur ou votre IDE favori.

  1. Remplacez le contenu du fichier quickstart.py par le code suivant.

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. Apportez les modifications suivantes :

    1. Entrez l’URL et la clé de votre point de terminaison dans les champs appropriés.
    2. Entrez votre GPT-4 Turbo avec le nom du déploiement Vision dans le champ approprié.
    3. Remplacez la valeur du champ "image" par l’URL de votre image.

      Conseil

      Vous pouvez également utiliser à la place d’une URL des données d’image encodées en base 64. Pour plus d’informations, consultez le Guide pratique de GPT-4 Turbo avec Vision.

  3. Exécutez l’application avec la commande python :

    python quickstart.py
    

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Utilisez cet article pour commencer à utiliser le SDK Python d’Azure OpenAI pour déployer et utiliser le modèle GPT-4 Turbo avec Vision.

Code source de la bibliothèque | Package (PyPi) |

Prérequis

Configurer

Installez la bibliothèque de client Python OpenAI avec :

pip install openai

Remarque

Cette bibliothèque est gérée par OpenAI. Reportez-vous à l’historique des versions pour suivre les dernières mises à jour de la bibliothèque.

Récupérer la clé et le point de terminaison

Pour effectuer correctement un appel sur Azure OpenAI, vous avez besoin d’un point de terminaison et d’une clé.

Nom de la variable Valeur
ENDPOINT Le point de terminaison de service se trouve dans la section Clés et point de terminaison quand vous examinerez votre ressource à partir du Portail Azure. Sinon, vous pouvez trouver le point de terminaison via la page Déploiements dans le portail Azure AI Foundry. Voici un exemple de point de terminaison : https://docs-test-001.openai.azure.com/.
API-KEY Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. Vous pouvez utiliser soit KEY1, soit KEY2.

Accédez à votre ressource sur le portail Azure. La section Point de terminaison et les clés se trouvent dans la section Gestion des ressources. Copiez votre point de terminaison et votre clé d’accès, car vous aurez besoin de l’authentification de vos appels d’API. Vous pouvez utiliser soit KEY1, soit KEY2. Avoir toujours deux clés vous permet de faire pivoter et de régénérer en toute sécurité les clés sans provoquer d’interruption de service.

Capture d’écran de l’interface utilisateur de vue d’ensemble d’une ressource Azure OpenAI dans le Portail Azure avec l’emplacement du point de terminaison et des clés d’accès entouré en rouge.

Variables d'environnement

Créez et affectez des variables d’environnement persistantes pour votre clé et votre point de terminaison.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez des clés API, stockez-les en lieu sûr dans Azure Key Vault, faites tourner les clés régulièrement et limitez l’accès à Azure Key Vault à l’aide du contrôle d’accès en fonction du rôle et des restrictions d’accès réseau. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Créer une application Python

Créez un fichier Python nommé quickstart.py. Ouvrez le nouveau fichier dans votre éditeur ou votre IDE favori.

  1. Remplacez le contenu du fichier quickstart.py par le code suivant.

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. Apportez les modifications suivantes :

    1. Entrez le nom de votre déploiement GPT-4 Turbo avec Vision dans le champ approprié.
    2. Remplacez la valeur du champ "url" par l’URL de votre image.

      Conseil

      Vous pouvez également utiliser à la place d’une URL des données d’image encodées en base 64. Pour plus d’informations, consultez le Guide pratique de GPT-4 Turbo avec Vision.

  3. Exécutez l’application avec la commande python :

    python quickstart.py
    

Important

Utilisez les clés API avec précaution. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement. Si vous utilisez une clé API, stockez-la en lieu sûr dans Azure Key Vault. Pour plus d’informations sur l’utilisation sécurisée des clés API dans vos applications, consultez Clés API avec Azure Key Vault.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Utilisez cet article pour commencer à utiliser le Kit de développement logiciel (SDK) JavaScript d’OpenAI pour déployer et utiliser le modèle GPT-4 Turbo avec Vision.

Ce Kit de développement logiciel (SDK) est fourni par OpenAI avec des types spécifiques à Azure fournis par Azure.

Documentation de référence | Code source de la bibliothèque | Package (npm) | Exemples

Prérequis

Remarque

Cette bibliothèque est gérée par OpenAI. Reportez-vous à l’historique des versions pour suivre les dernières mises à jour de la bibliothèque.

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier vision-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Créez le package.json avec la commande suivante :

    npm init -y
    
  3. Installez la bibliothèque de client OpenAI pour JavaScript avec :

    npm install openai
    
  4. Pour l’authentification sans mot de passe recommandée :

    npm install @azure/identity
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.
OPENAI_API_VERSION En savoir plus sur les versions d’API.

Vous pouvez modifier la version dans le code ou utiliser une variable d’environnement.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Attention

Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.

Créer une application JavaScript pour des prompts d’image

Sélectionnez une image à partir de azure-samples/cognitive-services-sample-data-files. Utilisez l’URL de l’image dans le code ci-dessous ou définissez la IMAGE_URL variable d’environnement sur l’URL de l’image.

Conseil

Vous pouvez également utiliser à la place d’une URL des données d’image encodées en base 64. Pour plus d’informations, consultez le Guide pratique de GPT-4 Turbo avec Vision.

  1. Créez le fichier index.js avec le code suivant :

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env.IMAGE_URL || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Connectez-vous à Azure à l’aide de la commande suivante :

    az login
    
  3. Exécutez le fichier JavaScript.

    node index.js
    

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Utilisez cet article pour commencer à utiliser le Kit de développement logiciel (SDK) JavaScript d’OpenAI pour déployer et utiliser le modèle GPT-4 Turbo avec Vision.

Ce Kit de développement logiciel (SDK) est fourni par OpenAI avec des types spécifiques à Azure fournis par Azure.

Documentation de référence | Code source de la bibliothèque | Package (npm) | Exemples

Prérequis

Remarque

Cette bibliothèque est gérée par OpenAI. Reportez-vous à l’historique des versions pour suivre les dernières mises à jour de la bibliothèque.

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier vision-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Créez le package.json avec la commande suivante :

    npm init -y
    
  3. Mettez à jour le package.json vers ECMAScript avec la commande suivante :

    npm pkg set type=module
    
  4. Installez la bibliothèque de client OpenAI pour JavaScript avec :

    npm install openai
    
  5. Pour l’authentification sans mot de passe recommandée :

    npm install @azure/identity
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.
OPENAI_API_VERSION En savoir plus sur les versions d’API.

Vous pouvez modifier la version dans le code ou utiliser une variable d’environnement.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Attention

Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY n’est pas définie.

Créer une application JavaScript pour des prompts d’image

Sélectionnez une image à partir de azure-samples/cognitive-services-sample-data-files. Utilisez l’URL de l’image dans le code ci-dessous ou définissez la IMAGE_URL variable d’environnement sur l’URL de l’image.

Conseil

Vous pouvez également utiliser à la place d’une URL des données d’image encodées en base 64. Pour plus d’informations, consultez le Guide pratique de GPT-4 Turbo avec Vision.

  1. Créez le fichier index.ts avec le code suivant :

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview";
    const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Créez le fichier tsconfig.json pour transpiler le code TypeScript et copiez le code suivant pour ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transpiler de TypeScript à JavaScript.

    tsc
    
  4. Connectez-vous à Azure à l’aide de la commande suivante :

    az login
    
  5. Exécutez le code avec la commande suivante :

    node index.js
    

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Utilisez cet article pour commencer à utiliser le SDK .NET d’Azure OpenAI pour déployer et utiliser le modèle GPT-4 Turbo avec Vision.

Prérequis

Prérequis pour Microsoft Entra ID

Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :

  • Installez l’interface Azure CLI utilisée pour l’authentification sans clé avec Microsoft Entra ID.
  • Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

Configurer

  1. Créez un dossier vision-quickstart et accédez au dossier de démarrage rapide avec la commande suivante :

    mkdir vision-quickstart && cd vision-quickstart
    
  2. Créez une application console avec la commande suivante :

    dotnet new console
    
  3. Installez la bibliothèque de client OpenAI .NET avec la commande dotnet add package :

    dotnet add package Azure.AI.OpenAI
    
  4. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package Azure.Identity avec :

    dotnet add package Azure.Identity
    
  5. Pour l’authentification sans clé recommandée avec Microsoft Entra ID, connectez-vous à Azure avec la commande suivante :

    az login
    

Récupérer des informations sur les ressources

Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :

Nom de la variable Valeur
AZURE_OPENAI_ENDPOINT Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure.
AZURE_OPENAI_DEPLOYMENT_NAME Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles.
OPENAI_API_VERSION En savoir plus sur les versions d’API.

Vous pouvez modifier la version dans le code ou utiliser une variable d’environnement.

En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.

Exécuter le démarrage rapide

L’exemple de code de ce guide de démarrage rapide utilise Microsoft Entra ID pour l’authentification sans clé recommandée. Si vous préférez utiliser une clé API, vous pouvez remplacer l’objet DefaultAzureCredential par un AzureKeyCredential objet.

AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 

Pour exécuter le démarrage rapide, procédez comme suit :

  1. Remplacez le contenu de Program.cs par le code suivant et remplacez les valeurs d’espace réservé par vos propres valeurs.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    string deploymentName = "gpt-4";
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/";
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>";
    
    // Use the recommended keyless credential instead of the AzureKeyCredential credential.
    AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); 
    //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));
    
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUrl = "YOUR_IMAGE_URL";
    
    var chatMessages = new List<ChatMessage>
    {
        new SystemChatMessage("You are a helpful assistant."),
        new UserChatMessage($"Describe this picture: {imageUrl}")
    };
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    
  2. Exécutez l’application à l’aide de la commande dotnet run ou du bouton Exécuter en haut de Visual Studio :

    dotnet run
    

Sortie

La sortie de l’application est une description de l’image que vous avez fournie dans la imageUri variable. L’assistant analyse l’image et fournit une description détaillée en fonction de son contenu.

Nettoyer les ressources

Si vous voulez nettoyer et supprimer une ressource Azure OpenAI, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.