C# und neuronale Netze: So binden Sie ChatGPT in Ihr Projekt ein

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum sind C# und KI das ideale Paar?

\n\n

Wenn wir über künstliche Intelligenz und Entwicklung sprechen, denken die meisten zuerst an Python. Das ist logisch: TensorFlow, PyTorch, Transformatoren... Aber was, wenn Ihr Stack C#, .NET ist und Sie Ihre gewohnten Werkzeuge nicht wechseln möchten? Die gute Nachricht: C# und neuronale Netze lassen sich hervorragend kombinieren, insbesondere wenn es um die Nutzung vorgefertigter Modelle über APIs geht.

\n\n

ChatGPT ist nicht nur ein modisches 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 welche Möglichkeiten sich für .NET-Entwickler eröffnen.

\n\n

Was müssen Sie vor dem Start wissen?

\n\n

Für die Arbeit mit der OpenAI API in C# benötigen Sie:

\n\n
    \n
  • Ein Konto auf platform.openai.com (API-Schlüssel erforderlich)
  • \n
  • Visual Studio 2022 oder JetBrains Rider
  • \n
  • .NET 6.0 oder höher (.NET 8 wird empfohlen)
  • \n
  • Die Bibliothek OpenAI (NuGet-Paket)
  • \n
\n\n

Keine Sorge: Der gesamte Vorgang dauert nicht länger als 15 Minuten. Lassen Sie uns Schritt für Schritt durchgehen, wie Sie eine Konsolenanwendung erstellen, die mit ChatGPT kommuniziert.

\n\n

Schritt 1: Projekt erstellen und Bibliothek installieren

\n\n

Öffnen Sie das Terminal oder die Package Manager Console und führen Sie den folgenden Befehl aus:

\n\n
dotnet new console -n ChatGPTDemo\ncd ChatGPTDemo\ndotnet add package OpenAI --version 1.11.0\n
\n\n

Das Paket OpenAI für C# ist ein offizieller Client, der alle aktuellen 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\n

Einrichtung des API-Schlüssels

\n\n

Speichern Sie Schlüssel niemals im Code. Verwenden Sie Umgebungsvariablen oder eine Konfigurationsdatei. Für das Beispiel erstellen wir eine appsettings.json:

\n\n
{\n  "OpenAiApiKey": "Ihr_super_geheimer_Schlüssel"\n}\n
\n\n

Fügen Sie dem Projekt das NuGet-Paket Microsoft.Extensions.Configuration.Json hinzu und laden Sie den Schlüssel wie folgt:

\n\n
var config = new ConfigurationBuilder()\n    .AddJsonFile("appsettings.json")\n    .Build();\n\nstring apiKey = config["OpenAiApiKey"];\n
\n\n

Jetzt sind wir bereit für den spannendsten Teil.

\n\n

Schritt 2: Erste Anfrage an ChatGPT in C#

\n\n

Schreiben wir eine einfache Methode, die eine Nachricht an das Modell sendet und eine Antwort erhält. Hier ist der vollständige Code:

\n\n
using 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 Deutsch antwortet."),\n    new UserChatMessage("Schreibe ein Codebeispiel in C# 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\n

Was passiert hier? Wir erstellen einen Client, geben das Modell gpt-4o-mini an (schnell und günstig), legen einen System-Prompt fest (die Rolle des Assistenten) und senden die Benutzeranfrage. Die Antwort kommt als strukturierter Text zurück.

\n\n

Das ist die Grundlage. Später kann man es komplexer gestalten: Dialogverlauf hinzufügen, Fehler behandeln, asynchrone Aufrufe durchführen.

\n\n

Schritt 3: Erstellen eines intelligenten Assistenten für die Arbeit mit Code

\n\n

Eine der nützlichsten Funktionen von ChatGPT in der C#-Entwicklung ist das Code-Review und die Generierung von Dokumentation. Lassen Sie uns eine Klasse erstellen, die unseren Code analysiert und Verbesserungen vorschlägt.

\n\n
public 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    {\n                

Blogs

Buchempfehlungen