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.
YAML name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'
name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'
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 Speichern von Prompts in GitHub-Repositorys.
-
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.
YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>
name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>
-
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.
YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - 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: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarity
name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - 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: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - 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.