Hinweis
GitHub Models for organizations and repositories is in public preview and subject to change.
Mit GitHub Models können deine Entwickler KI-gestützte Anwendungen im großen Stil erstellen, während dein Unternehmen die Kontrolle behält und für Compliance und Kosteneffizienz sorgt.
Gründe für GitHub Models
- Zentrale Modellverwaltung: Du bestimmst, welche KI-Modelle und -Anbieter für Entwickler in deiner Organisation zur Verfügung stehen.
- Schnelle KI-Entwicklung: Schnelle Prototyperstellung, Bewertung und Optimierung von Prompts und Modellen.
- Kontrollmechanismen für Governance und Compliance: Setze die Standards deiner Organisation durch und überwache die Modellnutzung.
- Kostenoptimierung: Vermeide unerwartete Kosten durch hochpreisige Modelle.
- Zusammenarbeit: Teile Prompts und Ergebnisse mithilfe der üblichen GitHub-Entwicklungsmethoden.
- Sicherheitsorientierte Architektur: Du kannst dich darauf verlassen, dass deine Daten bei GitHub und Azure verbleiben und nicht an Modellanbieter weitergegeben werden.
- Grafische Benutzeroberfläche: Ermögliche nicht technischen Teammitgliedern, neben Entwicklern einen Beitrag zu leisten.
- API-Zugriff: Verwende die GitHub Models-REST-API zur Automatisierung und Integration mit Unternehmensworkflows.
- Versionskontrolle: Alle Prompt- und Modelländerungen durchlaufen einen standardmäßigen GitHub-Flow für Commits und Pull Requests, sodass du immer weißt, wann und warum ein Prompt geändert wurde.
Weitere Informationen findest du unter About GitHub Models.
Bewährte Methoden für die Verwendung von GitHub Models im großen Stil
Vergleichen und Bewerten von KI-Modellen aus Gründen der Governance und Compliance
Verschaffe dir einen Überblick über verfügbare KI-Modelle und bewerte sie anhand der Anforderungen an Governance, Datensicherheit und Compliance in deinem Unternehmen. Du kannst dies in jedem Models-fähigen GitHub-Repository oder im GitHub Models-Katalog auf dem GitHub Marketplace unter https://github.com/marketplace?type=models tun. Dabei kannst du dir zu folgenden Punkten Gedanken machen:
- Governance und Sicherheit: Prüfe, ob bei den einzelnen Modellen Normen und Vorschriften wie die DSGVO, SOC 2 und ISO 27001 eingehalten werden, und sorge dafür, dass Daten nicht außerhalb deiner Organisation gespeichert werden, es sei denn, sie werden mit deiner ausdrücklichen Zustimmung protokolliert.
- Modellleistung: Führe Benchmarkbewertungen für deine internen Datasets durch, um Begründung, Kontextaufbewahrung und Halluzinationsraten zu bewerten.
- API-Steuerung und -Sichtbarkeit: Lege eine differenzierte Steuerung für Nutzungskontingente, Promptüberprüfungen und Ratenbegrenzungen auf Team- oder Organisationsebene fest.
- Kostenoptimierung: Berücksichtige dabei die Preise für Token, die Rückschlussgeschwindigkeit und die Verfügbarkeit von Modellvarianten für eine abgestufte Nutzung. So kannst du beispielsweise für die Testfallgenerierung kostengünstigere Modelle verwenden als für Architekturbesprechungen, für die anspruchsvolle Modelle erforderlich sind.
Nachdem du dich entschieden hast, welche Modelle du verwenden möchtest, kannst du den Zugriff in deiner Organisation auf diese Modelle beschränken. Informationen hierzu findest du unter Verwalten der Modellnutzung deines Teams.
Optimieren und Teilen von Prompts in verschiedenen Teams
Deine Entwickler können den Prompt-Editor in GitHub Models verwenden, um Prompts zu erstellen und zu optimieren. Teams können mit verschiedenen Promptvariationen und -modellen in einer stabilen Nichtproduktionsumgebung experimentieren, die sich in die Entwicklungsworkflows von GitHub integrieren lässt. Dank der grafischen Benutzeroberfläche können neben Entwicklern auch nicht technische Projektbeteiligte einen Beitrag leisten. Informationen hierzu findest du unter Verwenden des Prompt-Editors.
Mit dem einfachen Auswertungstool kann dein Team Ergebnisse anhand gängiger Metriken wie Wartezeit, Relevanz und Fundiertheit vergleichen. Du kannst aber auch benutzerdefinierte Auswerter erstellen. Vergleiche die Prompt- und Modellleistung für deine spezifischen Anwendungsfälle für generative KI, wie etwa für die Erstellung von Code, Tests, Dokumentation oder Code-Review-Vorschlägen.
Wenn dein Team effiziente Prompts erstellt, kann es diese als YAML-Dateien speichern und mithilfe von GitHub Pull Requests für Reviews teilen. Committete Prompts sind für andere Teams und Workflows zugänglich und können mit den Standards deines Unternehmens konsistent gehalten werden. Durch diesen zentralisierten und gemeinschaftlichen Ansatz zur Verwaltung von Prompts wird die Entwicklung beschleunigt und du kannst in deinem Unternehmen bewährte Methoden durchsetzen.
Auswerten und Optimieren der Nutzungskosten eines Modells
Wenn die Akzeptanz deiner KI-gestützten Anwendung zunimmt und die KI-Modelle immer besser werden, kannst du mit GitHub Models die Kosten und Leistung verschiedener Modelle und Modellupdates bewerten. Wähle die kostengünstigsten Optionen für die Anforderungen deines Unternehmens und verwalte die Ausgaben, während sich die Nutzung auf mehrere Teams verteilt.
Verwenden der GitHub Models-REST-API oder von Erweiterungen für die programmgesteuerte Verwaltung
Zur effizienteren Verwaltung von Ressourcen in allen Teams kannst du die GitHub Models-REST-API für folgende Aufgaben nutzen:
- Verwalten und Aktualisieren von Organisationseinstellungen: Zur Gewährleistung von Konsistenz und Compliance kannst du die Zugriffsberechtigungen und Governanceeinstellungen für Modelle in mehreren Teams gleichzeitig programmgesteuert aktualisieren.
- Auflisten und Abrufen von Prompts: Du kannst Prompts, die von verschiedenen Teams genutzt werden, auflisten, abrufen und überwachen, um die Nutzung zu überwachen, erfolgreiche Prompts zu teilen und ein zentrales Repository mit bewährten Methoden bereitzustellen.
- Ausführen von Modellinferenzanforderungen: Führe für bestimmte Modelle und Parameter wie Häufigkeitsstrafe, maximal zulässige Token, Antwortformat und Anwesenheitsstrafe Inferenzanforderungen aus.
Zum Ausführen von Inferenzanforderungen und zum Verwalten von Prompts kannst du auch folgende Erweiterungen verwenden:
- GitHub Models-Erweiterung für die GitHub CLI
- GitHub Models-Erweiterung für GitHub Copilot Chat
- GitHub Models-Erweiterung für VS Code
Überwachen, Durchlaufen und Integrieren
Mit integrierten Governancefeatures kannst du die Modellnutzung überwachen und die kontinuierliche Einhaltung von Unternehmensrichtlinien sicherstellen. Überwachungsprotokolle geben Aufschluss darüber, wer auf Modelle und Prompts zugegriffen oder diese geändert hat. Durch die Integration des GitHub Models-Repositorys können alle Projektbeteiligten gemeinsam an KI-gestützten Anwendungen arbeiten und diese kontinuierlich durchlaufen.
Beispiel: Verwenden von GitHub Models mit GitHub Actions zum Zusammenfassen von Issues
Umfangreiche Softwareentwicklungsprojekte enthalten häufig Issues voller technischer Details. Mithilfe von GitHub Models und GitHub Actions kannst du für KI-gestützte Issuezusammenfassungen Rollouts ausführen.
Voraussetzung: Aktiviere GitHub Models in deiner Organisation, und lege die Modelle und Publisher fest, die du für einzelne Repositorys verfügbar machen möchtest.
-
Erstellen eines Prompts in einem Repository
Erstelle im Prompt-Editor auf der Registerkarte „Models“ eines Repositorys einen Prompt.
Beispiel für einen Systemprompt:
Du bist Zusammenfasser von GitHub-Issues. Hebe wichtige technische Punkte oder wichtige Fragen hervor.
Beispiel für einen Benutzerprompt:
Fasse dieses Issue zusammen - {{input}}
-
Ausführen und Durchlaufen eines Prompts
Führe deinen Prompt aus. Gib im Bereich „Variables“ als Wert von
{{input}}
einige Beispiele für Issueinhalte ein.Probier verschiedene Modelle aus (z. B. OpenAI GPT-4o), und vergleiche die Ergebnisse. Passe Parameter wie maximal zulässige Token und Temperatur an. Durchlaufe diese Schritte, bis du mit den Ergebnissen zufrieden bist.
-
Optionales Ausführen ausführlicherer Tests
In der Ansicht „Compare“ kannst du mehrere deiner Prompts gleichzeitig mit verschiedenen Modellen vergleichen und die Ergebnisse in einer Rasteransicht anzeigen. Zudem kannst du Auswerter definieren und verwenden, um sicherzustellen, dass die Ergebnisse bestimmte Schlüsselwörter enthalten oder andere Standards erfüllen.
-
Committen deines Prompts
Gib deinem Prompt einen Namen und committe die Änderungen, sodass der Pull-Request-Flow durchlaufen wird. Wenn du deinem Prompt beispielsweise den Namen
summarize
gibst, erhältst du auf Stammebene deines Repositorys einesummarize.prompt.yaml
-Datei, die ungefähr wie folgt aussieht:messages: - role: system content: >- You are a summarizer of GitHub issues. Emphasize key technical points or important questions. - role: user content: 'Summarize this issue, please - {{input}}' model: gpt-4o modelParameters: max_tokens: 4096
Nachdem dein Pull Request überprüft und gemergt wurde, ist dein Prompt für alle Benutzer zur Verwendung im Repository verfügbar.
-
Aufrufen deines Prompts in einem Workflow
Informationen zum Erstellen von Workflows findest du unter Schreiben von Workflows.
Damit ein Prompt in einem Workflow aufgerufen werden kann, musst du die Berechtigung
models: read
festlegen.Hier ist ein Beispiel für einen Workflow, mit dem jedem neu erstellten Issue eine KI-generierte Zusammenfassung als Kommentar hinzugefügt wird:
YAML name: Summarize New Issue on: issues: types: [opened] permissions: issues: write contents: read models: read jobs: summarize_issue: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install gh-models extension run: gh extension install https://github.com/github/gh-models env: GH_TOKEN: ${{ github.token }} - name: Create issue body file run: | cat > issue_body.txt << 'EOT' ${{ github.event.issue.body }} EOT - name: Summarize new issue run: | cat issue_body.txt | gh models run --file summarize.prompt.yml > summary.txt env: GH_TOKEN: ${{ github.token }} - name: Update issue with summary run: | SUMMARY=$(cat summary.txt) gh issue comment ${{ github.event.issue.number }} --body "### Issue Summary ${SUMMARY}" env: GH_TOKEN: ${{ github.token }}
name: Summarize New Issue on: issues: types: [opened] permissions: issues: write contents: read models: read jobs: summarize_issue: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install gh-models extension run: gh extension install https://github.com/github/gh-models env: GH_TOKEN: ${{ github.token }} - name: Create issue body file run: | cat > issue_body.txt << 'EOT' ${{ github.event.issue.body }} EOT - name: Summarize new issue run: | cat issue_body.txt | gh models run --file summarize.prompt.yml > summary.txt env: GH_TOKEN: ${{ github.token }} - name: Update issue with summary run: | SUMMARY=$(cat summary.txt) gh issue comment ${{ github.event.issue.number }} --body "### Issue Summary ${SUMMARY}" env: GH_TOKEN: ${{ github.token }}
-
Überwachen und Durchlaufen
Mit dem GitHub Models-Prompt-Editor kannst du die Leistung der Aktion überwachen und die Prompt- und Modellauswahl durchlaufen. Außerdem kannst du mit der CLI-Erweiterung lokal testen oder mit der GitHub Models-REST-API die Prompt- und Modelleinstellungen programmgesteuert aktualisieren.
Du kannst auch überlegen, die Modellantwort als Datei in deinem Repository zu speichern, damit du die Leistung des Modells langfristig überprüfen und durchlaufen kannst. So kannst du die Qualität der Zusammenfassungen kontinuierlich verbessern und sicherstellen, dass sie den Anforderungen deines Teams entsprechen.