Pourquoi C# et l'IA forment-ils un duo idéal ?
\n\nQuand on parle d'intelligence artificielle et de développement, on pense généralement à Python. C'est logique : TensorFlow, PyTorch, transformeurs... Mais que faire si votre stack est C#, .NET et que vous ne voulez pas changer vos outils habituels ? Bonne nouvelle : C# et les réseaux de neurones se marient parfaitement, surtout lorsqu'il s'agit d'utiliser des modèles prêts à l'emploi via une API.
\n\nChatGPT n'est pas qu'un simple jouet à la mode. C'est un outil puissant capable de générer du code, d'écrire de la documentation, d'analyser des données et même d'aider au débogage. Dans cet article, nous allons voir comment connecter ChatGPT à un projet C#, écrire du code concret et explorer les possibilités qui s'offrent aux développeurs .NET.
\n\nQue faut-il savoir avant de commencer ?
\n\nPour travailler avec l'API OpenAI en C#, vous aurez besoin de :
\n\n- \n
- Un compte sur platform.openai.com (une clé API est nécessaire) \n
- Visual Studio 2022 ou JetBrains Rider \n
- .NET 6.0 ou supérieur (.NET 8 recommandé) \n
- La bibliothèque
OpenAI(package NuGet) \n
Pas de panique : tout le processus ne prendra pas plus de 15 minutes. Voyons étape par étape comment créer une application console qui communiquera avec ChatGPT.
\n\nÉtape 1. Créer le projet et installer la bibliothèque
\n\nOuvrez le terminal ou la console du gestionnaire de packages et exécutez la commande :
\n\ndotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n\n\nLe package OpenAI pour C# est un client officiel qui prend en charge tous les derniers modèles, y compris GPT-4 et GPT-4 Turbo. Il est activement développé, il est donc préférable d'utiliser la version la plus récente.
\n\nConfiguration de la clé API
\n\nNe stockez jamais les clés dans le code. Utilisez des variables d'environnement ou un fichier de configuration. Pour l'exemple, créons un fichier appsettings.json :
{\n "OpenAiApiKey": "votre_clé_super_secrète"\n}\n\n\nAjoutez au projet le package NuGet Microsoft.Extensions.Configuration.Json et chargez la clé ainsi :
var config = new ConfigurationBuilder()\n .AddJsonFile("appsettings.json")\n .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n\n\nNous sommes maintenant prêts pour la partie la plus intéressante.
\n\nÉtape 2. Première requête à ChatGPT en C#
\n\nÉcrivons une méthode simple qui envoie un message au modèle et reçoit une réponse. Voici le code complet :
\n\nusing OpenAI;\nusing OpenAI.Chat;\n\nvar client = new OpenAIClient(apiKey); // apiKey depuis la config\n\nvar chatClient = client.GetChatClient("gpt-4o-mini");\n\nvar messages = new List<ChatMessage>\n{\n new SystemChatMessage("Tu es un assistant utile qui répond en français."),\n new UserChatMessage("Écris un exemple de code en C# pour lire un fichier JSON.")\n};\n\nvar response = await chatClient.CompleteChatAsync(messages);\nvar reply = response.Value.Content[0].Text;\n\nConsole.WriteLine(reply);\n\n\nQue se passe-t-il ici ? Nous créons un client, spécifions le modèle gpt-4o-mini (rapide et économique), définissons un prompt système (rôle de l'assistant) et envoyons la requête de l'utilisateur. La réponse arrive sous forme de texte structuré.
\n\nC'est la base. Ensuite, on peut complexifier : ajouter un historique de dialogue, gérer les erreurs, effectuer des appels asynchrones.
\n\nÉtape 3. Créer un assistant intelligent pour travailler avec le code
\n\nL'une des fonctions les plus utiles de ChatGPT dans le développement C# est la révision de code et la génération de documentation. Créons une classe qui analysera notre code et proposera des améliorations.
\n\npublic class CodeReviewer\n{\n private readonly ChatClient _chatClient;\n\n public CodeReviewer(string apiKey)\n {\n var client = new OpenAIClient(apiKey);\n _chatClient = client.GetChatClient("gpt-4o-mini");\n }\n\n public async Task<string> ReviewCodeAsync(string code)\n {\n