Partager via


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

Démarrez l’utilisation de GPT-4 Turbo avec des images avec Azure OpenAI Service.

Remarque

Choix de modèle

Les derniers modèles compatibles avec la vision sont gpt-4o et gpt-4o mini. Ces modèles sont en préversion publique. Le dernier modèle disponible en disponibilité générale est gpt-4 version turbo-2024-04-09.

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 hub 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 découvrir 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.

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.

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 Node

Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y. Exécutez ensuite la commande npm init pour créer une application de nœud avec un fichier package.json.

npm init

Installer la bibliothèque de client

Installez les bibliothèques de client avec :

npm install openai @azure/identity

Le fichier package.json de votre application sera mis à jour avec les dépendances.

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

Sélectionnez une image dans azure-samples/cognitive-services-sample-data-files et définissez l’URL d’une image dans les variables d’environnement.

  1. Remplacez le contenu du fichier quickstart.js par 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"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "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. 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 suivante :

    node quickstart.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.

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.

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 Node

Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y. Exécutez ensuite la commande npm init pour créer une application de nœud avec un fichier package.json.

npm init

Installer la bibliothèque de client

Installez les bibliothèques de client avec :

npm install openai @azure/identity

Le fichier package.json de votre application sera mis à jour avec les dépendances.

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

Sélectionnez une image dans azure-samples/cognitive-services-sample-data-files et définissez l’URL d’une image dans les variables d’environnement.

  1. Créez un fichier quickstart.ts et collez-y 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"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "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. 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. Générez l’application avec la commande suivante :

    tsc
    
  4. Exécutez l’application avec la commande suivante :

    node quickstart.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

Configurer

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
AZURE_OPENAI_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/.
AZURE_OPENAI_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. Le 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 avez 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 pour une ressource Azure OpenAI dans le portail Azure avec l’emplacement du point de terminaion et des clés d’accès en surbrillance.

Créer l’application .NET

  1. Créez une application .NET à l’aide de la commande dotnet new :

    dotnet new console -n OpenAISpeech
    
  2. Accédez au répertoire de la nouvelle application :

    cd OpenAISpeech
    

Installer la bibliothèque de client

Installez la bibliothèque de client Azure.OpenAI :

dotnet add package Azure.AI.OpenAI

L’authentification sans mot de passe est plus sécurisée que les alternatives basées sur une clé. Elle représente l’approche recommandée pour la connexion aux services Azure. Si vous choisissez d’utiliser l’authentification sans mot de passe, vous devez effectuer ce qui suit :

  1. Ajoutez le package Azure.Identity.

    dotnet add package Azure.Identity
    
  2. Attribuez le rôle Cognitive Services User à votre compte d’utilisateur. Vous pouvez effectuer cette opération dans le portail Azure sur votre ressource OpenAI sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.

  3. Connectez-vous à Azure à l’aide de Visual Studio ou d’Azure CLI via az login.

Mettre à jour le code de l’application

  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
    
    var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT");
    var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY");
    // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth
    var deploymentName = "gpt-4"; // Default name, update with your own if needed
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    List<ChatMessage> messages = [
        new UserChatMessage(
            ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"),
            ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png"))
    ];
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    

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 découvrir plus d’informations sur la sécurité des services IA, consultez Authentifier les requêtes auprès d’Azure AI services.

  1. Exécutez l’application à l’aide de la commande dotnet run ou du bouton Exécuter en haut de Visual Studio :

    dotnet run
    

L’application génère un fichier audio à l’emplacement que vous avez spécifié pour la variable speechFilePath. Lisez le fichier sur votre appareil pour entendre l’audio généré.

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.

Étapes suivantes