Wie man C# und ChatGPT zusammenbringt: Vollständiger Leitfaden zur Integration
\n\nStellen Sie sich vor: Ihre C#-Anwendung beginnt plötzlich nicht nur Befehle auszuführen, sondern führt sinnvolle Dialoge, schreibt Code, übersetzt Texte oder generiert Ideen. Klingt nach Science-Fiction? Das ist bereits Realität dank der Integration der ChatGPT-API in C#. Heute zeige ich Ihnen, wie Sie in 15 Minuten ein gewöhnliches Konsolenprogramm in einen intelligenten Assistenten verwandeln. Los geht's!
\n\nOpenAI bietet eine leistungsstarke REST-API, die hervorragend mit .NET zusammenarbeitet. Sie benötigen keine externen SDKs – nur den standardmäßigen HttpClient und ein paar Bibliotheken für die Arbeit mit JSON. Der gesamte Prozess umfasst vier Schritte: Schlüssel abrufen, Anfrage senden, Antwort parsen, sich über das Ergebnis freuen.
Was wir für den Start benötigen
\n\nBevor wir Code schreiben, bereiten wir die Umgebung vor. Sie benötigen:
\n\n- \n
- Visual Studio 2022 oder JetBrains Rider (aber auch das normale .NET SDK + Editor reichen) \n
- .NET 6.0 oder höher (ich verwende .NET 8 – es ist schneller) \n
- OpenAI-API-Key – Registrieren Sie sich auf platform.openai.com, gehen Sie zum Bereich API Keys und erstellen Sie einen neuen geheimen Schlüssel. Achtung: Beim ersten Mal gibt es $5 zum Testen, aber vergessen Sie nicht die Limits! \n
- Newtonsoft.Json-Bibliothek oder System.Text.Json (in .NET integriert, aber ich bevorzuge Newtonsoft – es ist anschaulicher) \n
Newtonsoft.Json kann über NuGet installiert werden: Install-Package Newtonsoft.Json oder über den Paketmanager in Visual Studio.
Erste Anfrage an ChatGPT in C# erstellen
\n\nBeginnen wir einfach: Senden wir eine Nachricht an das Modell und erhalten eine Antwort. Die ganze Magie geschieht über eine POST-Anfrage an den Endpunkt https://api.openai.com/v1/chat/completions.
Hier ist der minimale funktionierende Code, den ich empfehle, als Ausgangspunkt zu speichern:
\n\nusing System;\nusing System.Net.Http;\nusing System.Text;\nusing System.Threading.Tasks;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\n\nclass Program\n{\n private static readonly string apiKey = "IHR_SCHLÜSSEL_HIER"; // Niemandem zeigen!\n private static readonly string endpoint = "https://api.openai.com/v1/chat/completions";\n\n static async Task Main(string[] args)\n {\n var client = new HttpClient();\n client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");\n\n var requestBody = new\n {\n model = "gpt-3.5-turbo",\n messages = new[]\n {\n new { role = "user", content = "Erzähl einen Witz über Programmierer" }\n },\n temperature = 0.7,\n max_tokens = 150\n };\n\n var json = JsonConvert.SerializeObject(requestBody);\n var content = new StringContent(json, Encoding.UTF8, "application/json");\n\n var response = await client.PostAsync(endpoint, content);\n var responseString = await response.Content.ReadAsStringAsync();\n\n var responseObject = JObject.Parse(responseString);\n var reply = responseObject["choices"][0]["message"]["content"].ToString();\n\n Console.WriteLine("ChatGPT sagt:");\n Console.WriteLine(reply);\n }\n}\n\n\nSie starten es – und die Konsole gibt so etwas aus wie: «Warum verwechseln Programmierer Halloween und Weihnachten? Weil Oct 31 == Dec 25 ist!». Lustig? Funktioniert? Großartig!
\n\nDen Code im Detail analysieren
\n\nSchauen wir uns an, was hier passiert. Wir erstellen einen HttpClient, fügen den Autorisierungs-Header hinzu – das ist Standardpraxis für die Arbeit mit der OpenAI-API in C#. Der Anforderungstext ist ein JSON-Objekt mit Parametern:
- \n
- model: Gibt das Modell an.
gpt-3.5-turboist der goldene Mittelweg zwischen Preis und Qualität. Für komplexe Aufgaben nehmen Siegpt-4, aber seien Sie bereit, mehr zu zahlen. \n Blogs
Buchempfehlungen
Lesen Sie auch
Kotlin auf LeetCode: Wie man Aufgaben löst und seine Fähigkeiten verbessert
GraphQL API mit Swift: Schritt-für-Schritt-Tutorial für Anfänger
Wie man in 30 Minuten eine REST API in PHP schreibt: Schritt-für-Schritt-Anleitung
Top-Fehler von Rust-Anfängern: Fortgeschrittenes Niveau
Funktionale Programmierung in PHP: Grundlagen und Beispiele