Partage via


Se connecter à un modèle IA et y inviter

Dans ce guide de démarrage rapide, vous allez apprendre à créer une application de conversation console .NET pour vous connecter et inviter un modèle OpenAI ou Azure OpenAI. L’application utilise la bibliothèque Microsoft.Extensions.AI afin de pouvoir écrire du code à l’aide d’abstractions IA plutôt que d’un KIT de développement logiciel (SDK) spécifique. Les abstractions IA vous permettent de modifier le modèle IA sous-jacent avec des modifications de code minimales.

Conditions préalables

Conditions préalables

Remarque

Vous pouvez également utiliser Semantic Kernel pour accomplir les tâches décrites dans cet article. Semantic Kernel est un noyau léger et open source qui vous permet de construire des agents d'IA et d'intégrer les derniers modèles d'IA dans vos applications .NET.

Créer l’application

Effectuez les étapes suivantes pour créer une application console .NET qui se connectera à un modèle d'IA.

  1. Dans un répertoire vide sur votre ordinateur, utilisez la commande dotnet new pour créer une application console :

    dotnet new console -o ExtensionsAI
    
  2. Modifiez le répertoire dans le dossier de l’application :

    cd ExtensionsAI
    
  3. Installez les packages nécessaires :

    dotnet add package Azure.AI.OpenAI
    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
    dotnet add package Microsoft.Extensions.Configuration
    dotnet add package Microsoft.Extensions.Configuration.UserSecrets
    
    dotnet add package OpenAI
    dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease
    dotnet add package Microsoft.Extensions.Configuration
    dotnet add package Microsoft.Extensions.Configuration.UserSecrets
    
  4. Ouvrez l'application dans Visual Studio Code ou dans l'éditeur de votre choix.

Créer le service d’IA

  1. Pour provisionner un service et un modèle Azure OpenAI, suivez les étapes décrites dans l’article Créer et déployer une ressource Azure OpenAI Service .

  2. À partir d’un terminal ou d’une invite de commandes, accédez à la racine de votre répertoire de projet.

  3. Exécutez les commandes suivantes pour configurer votre point de terminaison Azure OpenAI et le nom du modèle pour l’exemple d’application :

    dotnet user-secrets init
    dotnet user-secrets set AZURE_OPENAI_ENDPOINT <your-Azure-OpenAI-endpoint>
    dotnet user-secrets set AZURE_OPENAI_GPT_NAME <your-Azure-OpenAI-model-name>
    dotnet user-secrets set AZURE_OPENAI_API_KEY <your-Azure-OpenAI-key>
    

Configurer l’application

  1. Accédez à la racine de votre projet .NET à partir d’un terminal ou d’une invite de commandes.

  2. Exécutez les commandes suivantes pour configurer votre clé API OpenAI en tant que secret pour l’exemple d’application :

    dotnet user-secrets init
    dotnet user-secrets set OpenAIKey <your-OpenAI-key>
    dotnet user-secrets set ModelName <your-OpenAI-model-name>
    

Ajoutez le code de l’application

L’application utilise le Microsoft.Extensions.AI package pour envoyer et recevoir des demandes au modèle IA.

  1. Copiez le fichier benefits.md dans votre répertoire de projet. Configurez le projet pour copier ce fichier dans le répertoire de sortie. Si vous utilisez Visual Studio, cliquez avec le bouton droit sur le fichier dans l’Explorateur de solutions, sélectionnez Propriétés, puis définissez Copier dans le répertoire de sortie sur Copier si plus récent.

  2. Dans le Program.cs fichier, ajoutez le code suivant pour vous connecter et vous authentifier auprès du modèle IA.

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.AI;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    
    var config = new ConfigurationBuilder()
        .AddUserSecrets<Program>()
        .Build();
    string endpoint = config["AZURE_OPENAI_ENDPOINT"];
    string deployment = config["AZURE_OPENAI_GPT_NAME"];
    
    IChatClient client =
        new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential())
            .GetChatClient(deployment)
            .AsIChatClient();
    

    Remarque

    DefaultAzureCredential recherche les informations d'identification dans vos outils locaux. Si vous n'utilisez pas le modèle azd pour provisionner la ressource Azure OpenAI, vous devrez attribuer le rôle Azure AI Developer au compte que vous avez utilisé pour vous connecter à Visual Studio ou à Azure CLI. Pour plus d'informations, voir Authentification aux services Azure AI avec .NET.

    using Microsoft.Extensions.AI;
    using Microsoft.Extensions.Configuration;
    using OpenAI;
    
    IConfigurationRoot config = new ConfigurationBuilder()
        .AddUserSecrets<Program>()
        .Build();
    string? model = config["ModelName"];
    string? key = config["OpenAIKey"];
    
    IChatClient client =
        new OpenAIClient(key).GetChatClient(model).AsIChatClient();
    
  3. Ajoutez du code pour lire le contenu du benefits.md fichier, puis créez une invite pour le modèle. L’invite indique au modèle de résumer le contenu texte du fichier en 20 mots ou moins.

    string text = File.ReadAllText("benefits.md");
    string prompt = $"""
        Summarize the the following text in 20 words or less:
        {text}
        """;
    
  4. Appelez la GetResponseAsync méthode pour envoyer l’invite au modèle pour générer une réponse.

    // Submit the prompt and print out the response.
    ChatResponse response = await client.GetResponseAsync(
        prompt,
        new ChatOptions { MaxOutputTokens = 400 });
    Console.WriteLine(response);
    
  5. Exécutez l’application :

    dotnet run
    

    L’application imprime la réponse d’achèvement du modèle IA. Personnalisez le contenu texte du benefits.md fichier ou la longueur du résumé pour afficher les différences dans les réponses.

Nettoyer les ressources

Si vous n’en avez plus besoin, supprimez la ressource Azure OpenAI et le déploiement de modèle GPT-4.

  1. Dans le portail Azure , accédez à la ressource Azure OpenAI.
  2. Sélectionnez la ressource Azure OpenAI, puis sélectionnez Supprimer.

Étapes suivantes