Dot.Blog

Consulting DotNet C#, XAML, WinUI, WPF, MAUI, IA

Azure AI - Appeler Azure OpenAI en C# avec HttpClient

Maintenant que vous avez un déploiement fonctionnel (voir les 5 précédents articles), vous pouvez interagir avec le modèle depuis une application .NET. Dans cet article, nous allons utiliser HttpClient pour envoyer une requête à l’API Azure OpenAI.

🎓 Prérequis

Avant de commencer, vous devez :

  • Avoir le nom du déploiement (ex. chatbot-deploy)
  • Connaître l'URL de point d’accès (visible dans votre ressource Azure OpenAI)
  • Récupérer la clé API dans la section Keys and Endpoint

✏️ Exemple de code complet

Voici un exemple simple qui appelle le modèle gpt-35-turbo depuis C# :

using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

var endpoint = "https://votre-instance.openai.azure.com/openai/deployments/chatbot-deploy/chat/completions?api-version=2024-02-15-preview";
var apiKey = "VOTRE_CLE_API";
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
client.DefaultRequestHeaders.Add("api-key", apiKey);

var requestData = new
{
    messages = new[]
    {
        new { role = "system", content = "Tu es un assistant utile." },
        new { role = "user", content = "Résume ce texte : Azure est une plateforme cloud..." }
    },
    temperature = 0.7,
    max_tokens = 500
};

var content = new StringContent(JsonSerializer.Serialize(requestData), Encoding.UTF8, "application/json");
var response = await client.PostAsync(endpoint, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

🛡️ Attention aux erreurs courantes

  • URL incorrecte : vérifiez que l’URL inclut bien /deployments/NOM_DU_DEPLOIEMENT/chat/completions
  • Version API : la version doit correspondre à celle active dans votre région et ressource
  • Clé API oubliée : bien ajouter api-key en en-tête, même si vous utilisez Authorization

📊 Prochaines étapes

Maintenant que vous savez appeler Azure OpenAI depuis du code .NET, nous allons explorer des cas d’usage concrets dans le prochain article : génération de texte, correction, résumés...

Stay Tuned !

Faites des heureux, PARTAGEZ l'article !