Warum C# und KI das perfekte Paar sind?
\n\nWenn wir über künstliche Intelligenz und Entwicklung sprechen, kommt einem normalerweise Python in den Sinn. Das ist logisch: TensorFlow, PyTorch, Transformers... Aber was, wenn dein Stack aus C#, .NET besteht und du dein vertrautes Toolkit nicht wechseln möchtest? Die gute Nachricht: C# und neuronale Netze kombinieren perfekt, besonders wenn es um die Nutzung von vorgefertigten Modellen über eine API geht.
\n\nChatGPT ist nicht nur ein trendiges Spielzeug. Es ist ein leistungsstarkes Werkzeug, das Code generieren, Dokumentation schreiben, Daten analysieren und sogar beim Debuggen helfen kann. In diesem Artikel werden wir uns ansehen, wie man ChatGPT in ein C#-Projekt einbindet, echten Code schreibt und erkennt, welche Möglichkeiten sich für .NET-Entwickler eröffnen.
\n\nWas du vor dem Start wissen musst?
\n\nUm mit der OpenAI API in C# zu arbeiten, benötigst du:
\n\n- \n
- Ein Konto auf platform.openai.com (ein API-Schlüssel ist erforderlich) \n
- Visual Studio 2022 oder JetBrains Rider \n
- .NET 6.0 oder höher (.NET 8 wird empfohlen) \n
- Die
OpenAI-Bibliothek (NuGet-Paket) \n
Keine Sorge: Der gesamte Vorgang dauert nicht länger als 15 Minuten. Lass uns Schritt für Schritt eine Konsolenanwendung erstellen, die mit ChatGPT kommuniziert.
\n\nSchritt 1. Projekt erstellen und Bibliothek installieren
\n\nÖffne dein Terminal oder die Paket-Manager-Konsole und führe den Befehl aus:
\n\ndotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n\n\nDas OpenAI-Paket für C# ist ein offizieller Client, der alle modernen Modelle unterstützt, einschließlich GPT-4 und GPT-4 Turbo. Es wird aktiv weiterentwickelt, daher ist es am besten, die neueste Version zu verwenden.
\n\nEinrichten des API-Schlüssels
\n\nSpeichere Schlüssel niemals in deinem Code. Verwende Umgebungsvariablen oder eine Konfigurationsdatei. Für dieses Beispiel erstellen wir appsettings.json:
{\n "OpenAiApiKey": "your_super_secret_key"\n}\n\n\nFüge das NuGet-Paket Microsoft.Extensions.Configuration.Json zum Projekt hinzu und lade den Schlüssel wie folgt:
var config = new ConfigurationBuilder()\n .AddJsonFile("appsettings.json")\n .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n\n\nJetzt sind wir bereit für den interessantesten Teil.
\n\nSchritt 2. Erste Anfrage an ChatGPT in C#
\n\nSchreiben wir eine einfache Methode, die eine Nachricht an das Modell sendet und eine Antwort erhält. Hier ist der vollständige Code:
\n\nusing OpenAI;\nusing OpenAI.Chat;\n\nvar client = new OpenAIClient(apiKey); // apiKey aus der Konfiguration\n\nvar chatClient = client.GetChatClient("gpt-4o-mini");\n\nvar messages = new List<ChatMessage>\n{\n new SystemChatMessage("Du bist ein hilfreicher Assistent, der auf Russisch antwortet."),\n new UserChatMessage("Schreibe ein Beispiel für C#-Code zum Lesen einer JSON-Datei.")\n};\n\nvar response = await chatClient.CompleteChatAsync(messages);\nvar reply = response.Value.Content[0].Text;\n\nConsole.WriteLine(reply);\n\n\nWas passiert hier? Wir erstellen einen Client, geben das gpt-4o-mini-Modell an (schnell und günstig), legen einen System-Prompt fest (die Rolle des Assistenten) und senden die Anfrage des Benutzers. Die Antwort kommt als strukturierter Text zurück.
\n\nDas sind die Grundlagen. Von hier aus kannst du es komplexer gestalten: Gesprächsverlauf hinzufügen, Fehler behandeln, asynchrone Aufrufe tätigen.
\n\nSchritt 3. Erstellen eines intelligenten Assistenten für die Arbeit mit Code
\n\nEine der nützlichsten Funktionen von ChatGPT in der C#-Entwicklung ist Code-Review und die Generierung von Dokumentation. Lassen wir eine Klasse erstellen, die unseren Code analysiert und Verbesserungen vorschlägt.
\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 {