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