Einführung
GitHub Models ist eine KI-Rückschluss-API von GitHub, mit der du KI-Modelle nur mit deinen GitHub-Anmeldeinformationen ausführen kannst. Du kannst aus vielen verschiedenen Modellen auswählen – einschließlich OpenAI, Meta und DeepSeek – und sie in Skripts, Apps oder sogar GitHub Actions ohne separaten Authentifizierungsprozess verwenden.
Dieser Leitfaden hilft dir, Modelle schnell im Playground auszuprobieren, und zeigt dir dann, wie du dein erstes Modell über die API oder den Workflow ausführst.
Schritt 1: Testen von Modellen im Playground
-
Wechseln Sie zu https://github.com/marketplace/models.
-
Wähle im Playground im Dropdownmenü mindestens ein Modell aus.
-
Teste verschiedene Prompts mithilfe der Ansicht Chat, und vergleiche Antworten aus verschiedenen Modellen.
-
Verwende die Ansicht Parameters, um die Parameter für die Modelle anzupassen, die du testest, und sieh dir dann an, wie sich diese auf Antworten auswirken.
Hinweis
Der Playground funktioniert sofort, wenn du bei GitHub angemeldet bist. Du verwendest dein GitHub-Konto für den Zugriff – es sind keine Setup- oder API-Schlüssel erforderlich.
Schritt 2: Ausführen eines API-Aufrufs
Ausführliche Informationen zu verfügbaren Feldern, Headern und Anforderungsformaten findest du in der API-Referenz für GitHub Models.
Um Modelle programmgesteuert aufzurufen, benötigst du Folgendes:
- Ein GitHub-Konto
- Ein personal access token (PAT) mit dem
models
-Bereich, den du in den Einstellungen erstellen kannst
-
Führe den folgenden Befehl
curl
aus, und ersetze dabeiYOUR_GITHUB_PAT
durch deinen Token.Bash curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
-
Du erhältst eine Antwort wie die Folgende:
{ "choices": [ { "message": { "role": "assistant", "content": "The capital of France is **Paris**." } } ], ...other fields omitted }
-
Um andere Modelle auszuprobieren, ändere den Wert des
model
-Felds in den JSON-Nutzdaten aus dem Marketplace in einen Wert.
Schritt 3: Ausführen von Modellen in GitHub Actions
-
Erstelle in deinem Repository eine Workflowdatei unter
.github/workflows/models-demo.yml
. -
Füge den folgenden Workflow in die soeben erstellte Datei ein.
name: GitHub Models Demo on: [push] permissions: contents: read models: read jobs: summarize-repo: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Summarize the repository README run: | SUMMARY_INPUT=$(head -c 4000 README.md) PROMPT="Summarize this repository in one sentence. Here is the README:\n$SUMMARY_INPUT" PAYLOAD=$(jq -n --arg prompt "$PROMPT" '{ model: "openai/gpt-4.1", messages: [ {role: "user", content: $prompt} ] }') RESPONSE=$(curl -sL \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d "$PAYLOAD") echo "$RESPONSE" | jq -r '.choices[0].message.content'
Hinweis
Workflows, die GitHub Models aufrufen, müssen
models: read
in den Berechtigungsblock einschließen. Die von GitHub gehosteten Runner stellen automatisch einenGITHUB_TOKEN
bereit. -
Committe und pushe, um den Workflow auszulösen.
In diesem Beispiel wird gezeigt, wie du einen Prompt an ein Modell sendest und die Antwort in deinen CI-Workflows (Continuous Integration) verwendest. Komplexere Anwendungsfälle, z. B. das Zusammenfassen von Problemen, das Erkennen fehlender Reproduktionsschritte für Fehlerberichte oder das Reagieren auf Pull Requests, findest du unter Integrieren von KI-Modellen mit deinem Entwicklungsworkflow.
Schritt 4: Speichern der ersten Promptdatei
GitHub Models unterstützt wiederverwendbare Prompts, die in .prompt.yml
-Dateien definiert sind. Nachdem du diese Datei deinem Repository hinzugefügt hast, wird sie auf der Seite „Models“ deines Repositorys angezeigt und kann direkt im Prompt-Editor und in den Auswertungstools ausgeführt werden. Weitere Informationen findest du unter Storing prompts in GitHub repositories.
-
Erstelle in deinem Repository eine Datei mit dem Namen
summarize.prompt.yml
. Du kannst sie in einem beliebigen Verzeichnis speichern. -
Füge den folgenden Prompt in die soeben erstellte Datei ein.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o
-
Committe die Datei, und pushe sie in dein Repository.
-
Wechsle in deinem Repository zur Registerkarte Models.
-
Klicke im Navigationsmenü auf Prompts und dann auf die Promptdatei.
-
Der Prompt wird im Prompt-Editor geöffnet. Klicken Sie auf Ausführen. Es wird eine rechte Seitenleiste angezeigt, in der du aufgefordert wirst, Eingabetext einzugeben. Gib einen beliebigen Eingabetext ein, und klicke dann in der unteren rechten Ecke auf Run, um ihn zu testen.
Hinweis
Der Prompt-Editor übergibt Repositoryinhalte nicht automatisch an Prompts. Du gibst die Eingabe manuell an.
Schritt 5: Einrichten deiner ersten Auswertung
Auswertungen helfen dir zu messen, wie verschiedene Modelle auf dieselben Eingaben reagieren, sodass du das Beste für deinen Anwendungsfall auswählen kannst.
-
Navigiere zurück zur im vorherigen Schritt erstellten Datei
summarize.prompt.yml
. -
Aktualisiere die Datei entsprechend dem folgenden Beispiel.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o testData: - input: >- The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: >- The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. - input: >- Lucy baked cookies for the school fundraiser. She spent the entire evening in the kitchen to make sure there were enough for everyone. expected: Lucy baked cookies all evening to support the school fundraiser. evaluators: - name: Similarity uses: github/similarity
-
Committe die Datei, und pushe sie in dein Repository.
-
Klicke in deinem Repository auf die Registerkarte Models. Klicke dann auf Prompts, und öffne denselben Prompt im Prompt-Editor erneut.
-
In der oberen linken Ecke kannst du die Ansicht von Edit in Compare umschalten. Klicken Sie auf Vergleichen.
-
Deine Auswertung wird automatisch eingerichtet. Klicke auf Run, um die Ergebnisse anzuzeigen.
Tipp
Durch Klicken auf Add prompt kannst du denselben Prompt mit unterschiedlichen Modellen ausführen oder die Formulierung des Prompt ändern, um Rückschlussantworten mit mehreren Variationen gleichzeitig zu erhalten und Auswertungen nebeneinander anzuzeigen, um datengesteuerte Modellentscheidungen zu treffen.