Künstliche Intelligenz ist heute zugänglicher denn je – und mit GitHub Models kannst du jetzt eine Vielzahl von Large Language Models (LLMs) direkt über GitHub ausprobieren.
Das Beste daran? Viele dieser Modelle – auch von anderen Anbietern als OpenAI – können kostenlos getestet werden.
In diesem Beitrag zeige ich dir, wie du eine einfache .NET-Konsolen-Chat-Anwendung erstellst, die GitHub Models nutzt. Dabei richten wir den notwendigen Zugriff ein, probieren verschiedene Modelle aus und sehen, wie einfach es ist, mit modernster KI zu experimentieren.
Warum GitHub Models?
GitHub Models bieten eine einheitliche Schnittstelle, um verschiedene KI-Modelle zu testen, ohne dass du dich bei jedem Anbieter einzeln anmelden musst. Du kannst schnell:
- Modelle verschiedener Anbieter ausprobieren
- Mit minimalen Code-Änderungen zwischen Modellen wechseln
- Ohne Vorkosten experimentieren (viele Modelle stehen in einer kostenlosen Preview zur Verfügung)
Damit sind GitHub Models ein perfekter Spielplatz für Entwickler – besonders, wenn du die Antworten verschiedener Modelle direkt vergleichen möchtest.
Überblick über die verfügbaren Modelle
Mit GitHub Models erhältst du Zugriff auf eine wachsende Liste von Modellen, darunter (aber nicht nur):
- OpenAI GPT-Familie
- Microsoft Phi-Familie
- Meta LLaMA
- Mistral
- Cohere Command R
- Grok-Familie
Jedes Modell hat seine eigenen Stärken – sei es logisches Denken, Kreativität oder Effizienz. Durch die Abstraktion über GitHub kannst du Modelle einfach austauschen und direkt vergleichen, wie sie sich im gleichen Szenario verhalten.
Erstellen eines GitHub Personal Access Token (PAT)
Bevor du die GitHub Models nutzen kannst, benötigst du ein GitHub Personal Access Token (PAT).
So geht’s: Öffne die Seite https://github.com/settings/tokens in deinem Browser.

Klicke auf Generate new token und dann erneut auf Generate new token, um ein fein abgestimmtes, repo-basiertes Token zu erstellen.

Vergib einen Namen und ein Ablaufdatum für dein Token.

Bei den Repository-Berechtigungen kannst du die Standardeinstellungen beibehalten (nur Public repositories). Damit das Token Zugriff auf die Modelle hat, musst du zusätzliche Berechtigungen vergeben und die Models-Berechtigung hinzufügen.

Klicke auf Generate token.

Bestätige den Dialog und klicke erneut auf Generate token.

Dein GitHub Personal Access Token wird nun erstellt. Bewahre es sicher auf – dies ist der einzige Moment, in dem du es auf der GitHub-Seite sehen kannst.

💡 Tipp: Schreibe dein PAT niemals fest in den Quellcode. Verwende stattdessen Umgebungsvariablen oder User Secrets.
Die .NET-Konsolenanwendung erstellen
Nun setzen wir alles mit einer einfachen .NET-Konsolen-App zusammen. Öffne Visual Studio und erstelle ein neues Konsolenprojekt.
Wir benötigen die NuGet-Pakete Azure.AI.Inference und Spectre.Console.
- Spectre.Console sorgt für eine ansprechende Terminal-Oberfläche.
- Azure.AI.Inference stellt den
ChatCompletionsClient
bereit.
Wir konzentrieren uns hier auf die wichtigsten Teile der App. Der komplette Quellcode ist im GitHub-Repository verfügbar.
Nach dem PAT und dem Model fragen
// Ask for GitHub PAT (masked input)
string pat = ConsoleHelper.GetSecret(
"Enter your GitHub Personal Access Token (PAT):");
// Ask which model to use (e.g., microsoft/Phi-4)
string model = ConsoleHelper.GetString(
"Enter the GitHub Model you want to use:");
C#Den Client erstellen
// Create the client once and reuse it
Uri endpoint = new("https://models.github.ai/inference");
AzureKeyCredential credential = new(pat);
ChatCompletionsClient client = new(
endpoint,
credential,
new AzureAIInferenceClientOptions());
C#Antwort streamen
ChatCompletionsOptions requestOptions = new
{
Model = model,
Messages =
{
new ChatRequestSystemMessage("You are a helpful assistant.")
}
};
// Send user input and stream tokens as they arrive
StreamingResponse<StreamingChatCompletionsUpdate> response =
await client.CompleteStreamingAsync(requestOptions);
await foreach (StreamingChatCompletionsUpdate? update in response)
{
if (!string.IsNullOrEmpty(update.ContentUpdate))
{
Console.Write(update.ContentUpdate);
}
}
C#Die Kernschritte:
- PAT sicher eingeben
- Modell auswählen
- Client erstellen
- Antworten streamen
- Verlauf schlank halten
Der Rest (Fehlerbehandlung, Nutzungs-Tabellen, schöne Header) sorgt lediglich für eine angenehmere Konsolen-Erfahrung.
👉 Die vollständige Version (mit Spectre.Console UI und Token-Usage-Tabellen) findest du im GitHub-Repository.
Screenshots
So sieht die Chat-Anwendung in Aktion aus.
Zuerst gibst du dein erzeugtes GitHub Personal Access Token ein.

Danach wählst du ein Modell, z. B. microsoft/Phi-4
. Eine Liste aller verfügbaren Modelle findest du hier.

Anschließend kannst du direkt mit dem Modell chatten. Nach jeder Anfrage siehst du zudem die verwendeten Tokens.

Fazit
Du hast jetzt eine saubere, erweiterbare .NET-Konsolen-Chat-Anwendung, die mit GitHub Models spricht, Streaming unterstützt und sicher weiterentwickelt werden kann. Mit einem einfachen Modellwechsel kannst du das Verhalten in Sekunden vergleichen.
Das Beste daran? 🎉 Es ist komplett kostenlos – du brauchst nur ein GitHub-Konto und ein Personal Access Token. Eine zusätzliche Registrierung bei den einzelnen Modell-Anbietern ist nicht notwendig.
Beachte jedoch: Dieses Setup ist für Prototyping und Tests gedacht. Jedes Modell hat Nutzungsgrenzen, daher ist es nicht für produktive Workloads geeignet. Fürs Experimentieren, Vergleichen und Lernen ist es aber ein großartiger Spielplatz.
👉 Repository: tsjdev-apps/github-models-chat-dotnet
Wenn dir das Projekt geholfen hat, freue ich mich über ein ⭐ im Repository – so können es auch andere entdecken!