Ce tutoriel vous guidera pas à pas pour construire un chatbot utilisant l’API de DeepSeek avec .NET 9. Nous allons créer une application web de chatbot avec ASP.NET Core.
- Prérequis
- Étape 1 : Créer une nouvelle application Web ASP.NET Core
- Étape 2 : Ajouter les packages nécessaires
- Étape 3 : Créer les modèles pour l'API DeepSeek
- Étape 4 : Créer un service pour l'API DeepSeek
- Étape 5 : Configurer le service dans Program.cs
- Étape 6 : Créer une Page de Chat
- Étape 7 : Ajouter la Navigation vers la Page de Chat
- Étape 8 : Lancer l'Application
- Fonctionnalités Avancées (Optionnelles)
- Déploiement
- Considérations de Sécurité
- Conclusion
Prérequis
- SDK .NET 9
- Visual Studio 2022 (ou VS Code)
- Clé API DeepSeek (inscrivez-vous sur le site de DeepSeek)
- Connaissances de base en C# et ASP.NET Core
Étape 1 : Créer une nouvelle application Web ASP.NET Core
dotnet new webapp -n DeepSeekChatBot -f net9.0 cd DeepSeekChatBot
Étape 2 : Ajouter les packages nécessaires
dotnet add package Microsoft.AspNetCore.Components.WebAssembly.Server dotnet add package System.Net.Http.Json dotnet add package Newtonsoft.Json
Étape 3 : Créer les modèles pour l’API DeepSeek
Créez un dossier Models
et ajoutez ces classes :
//Models/ChatMessage.cs

// Models/ChatRequest.cs

Étape 4 : Créer un service pour l’API DeepSeek
Créez un dossier Services
et ajoutez :
//Services/DeepSeekService.cs

Étape 5 : Configurer le service dans Program.cs
builder.Services.AddHttpClient<DeepSeekService>(); builder.Services.AddScoped<DeepSeekService>(); // Ajoutez votre clé API dans appsettings.json // { // "DeepSeek": { // "ApiKey": "votre-clé-api-ici" // } // }
Étape 6 : Créer une Page de Chat
Créez une nouvelle Razor Page dans le dossier Pages
nommée Chat.cshtml
et Chat.cshtml.cs
:
//Pages/Chat.cshtml.cs

@page @model ChatModel <div class="container mt-5"> <div class="row"> <div class="col-md-8 offset-md-2"> <div class="card"> <div class="card-header bg-primary text-white"> <h3>ChatBot DeepSeek</h3> </div> <div class="card-body chat-container" style="height: 400px; overflow-y: auto;"> @foreach (var message in Model.Messages) { <div class="@(message.Role == "user" ? "text-end" : "text-start") mb-3"> <div class="@(message.Role == "user" ? "bg-primary text-white" : "bg-light") p-3 rounded"> <strong>@(message.Role == "user" ? "Vous" : "IA"):</strong> <p class="mb-0">@message.Content</p> </div> </div> } </div> <div class="card-footer"> <form method="post"> <div class="input-group"> <input type="text" class="form-control" asp-for="UserMessage" placeholder="Tapez votre message..."> <button type="submit" class="btn btn-primary">Envoyer</button> </div> </form> </div> </div> </div> </div> </div> @section Scripts { <script> // Défilement automatique vers le bas du chat document.addEventListener("DOMContentLoaded", function() { var chatContainer = document.querySelector('.chat-container'); chatContainer.scrollTop = chatContainer.scrollHeight; }); </script> }
Étape 7 : Ajouter la Navigation vers la Page de Chat
Ajoutez dans Pages/Shared/_Layout.cshtml
dans la barre de navigation :
<li class="nav-item"> <a class="nav-link text-dark" asp-page="/Chat">Chat avec l'IA</a> </li>
Étape 8 : Lancer l’Application
dotnet run
Visitez https://localhost:5001/Chat
dans votre navigateur pour interagir avec le chatbot.
Fonctionnalités Avancées (Optionnelles)
1. Réponses en Streaming
Modifiez le DeepSeekService
pour gérer le streaming :

2. Ajouter SignalR pour des Mises à Jour en Temps Réel
Ajoutez le package SignalR :
dotnet add package Microsoft.AspNetCore.SignalR.Client
Créez un Hub :
// Hubs/ChatHub.cs using Microsoft.AspNetCore.SignalR; public class ChatHub : Hub { public async Task SendMessage(string user, string message) { await Clients.All.SendAsync("ReceiveMessage", user, message); } }
Enregistrez dans Program.cs :
builder.Services.AddSignalR(); app.MapHub<ChatHub>("/chatHub");
3. Ajouter une Mémoire/Historique de Chat
Créez un service pour gérer l’historique des conversations :
// Services/ChatHistoryService.cs public class ChatHistoryService { private readonly List<ChatMessage> _conversationHistory = new(); public void AddMessage(ChatMessage message) { _conversationHistory.Add(message); } public List<ChatMessage> GetConversationHistory() { return _conversationHistory; } public void ClearHistory() { _conversationHistory.Clear(); } }
Enregistrez dans Program.cs :
builder.Services.AddSingleton<ChatHistoryService>();
Déploiement
Pour déployer votre chatbot :
- Publiez l’application :
dotnet publish -c Release -o ./publish
- Déployez sur votre hébergeur préféré (Azure, AWS, etc.)
Considérations de Sécurité
- Ne jamais exposer votre clé API dans le code client
- Pensez à ajouter une limitation de débit
- Implémentez une gestion d’erreurs appropriée
- Ajoutez une authentification utilisateur si nécessaire
Conclusion
Vous avez maintenant créé un chatbot entièrement fonctionnel utilisant l’API de DeepSeek avec .NET 9. Cette implémentation comprend :
- Des fonctionnalités de chat de base
- Une intégration API appropriée
- Un historique de conversation
- Une interface utilisateur simple
Vous pouvez l’étendre en ajoutant :
- Une authentification utilisateur
- Une persistance des conversations
- Des fonctionnalités d’interface plus avancées
- Une intégration avec d’autres services
Vous avez des questions ou des suggestions ? Laissez un commentaire ci-dessous ! 🚀
Code complet disponible sur GitHub