Note
GitHub Copilot Extensions befinden sich in der public preview und können noch geändert werden.
Einführung
Github Copilot skillsets sind eine optimierte Möglichkeit, die Funktionen von GitHub Copilot zu erweitern, indem API-Endpunkte definiert werden, die Copilot aufrufen kann. Wenn du ein Skillset erstellst, verarbeitet Copilot alle KI-Interaktionen, während deine Endpunkte die Daten oder Funktionen bereitstellen. Dieser Leitfaden führt dich durch das Konfigurieren und Bereitstellen eines Skillsets in deiner GitHub App.
Voraussetzungen
Bevor Sie beginnen, sollten Sie sicherstellen, dass Folgendes vorhanden ist:
- Eine konfigurierte GitHub App: Du benötigst eine GitHub App, die als Container für dein Skillset fungiert. Wenn du noch keine eingerichtet hast, findest du unter Erstellen einer GitHub-App für Ihre Copilot-Erweiterung und Konfigurieren deiner GitHub-App für deine Copilot-Erweiterung weitere Informationen.
- API-Endpunkte: Du benötigst einen Endpunkt pro Skill. Jeder Endpunkt muss:
- POST-Anforderungen mit dem MIME-Typ
application/json
akzeptieren - In der Lage sein, die Signatur von Anforderungen von GitHub zu verifizieren, um ihren Ursprung zu authentifizieren und unbefugten Zugriff zu verhindern
- Öffentlich über HTTPS zugänglich sein
- POST-Anforderungen mit dem MIME-Typ
Weitere Informationen zur Signaturüberprüfung findest du unter Überprüfen, ob Payloads von GitHub stammen.
Konfigurationsanforderungen
Jedes Skillset wird in einer GitHub App definiert. Jede GitHub App kann bis zu fünf Skills enthalten. Jeder Skill benötigt:
- Name: Ein eindeutiger und beschreibender Name (z. B. „Issues abrufen“)
- Rückschlussbeschreibung: Eine detaillierte Erläuterung der Skills und deren Verwendung (z. B. „Sucht nach externen Issues, die bestimmten Kriterien entsprechen, z. B. Status und Bezeichnungen“)
- API-Endpunkt: Ein POST-Endpunkt, der JSON-Anforderungen akzeptiert
- JSON-Schema: Die Struktur der Daten, die dein Endpunkt erwartet
Beispiel für das JSON-Schema
In diesem Beispiel wird ein Skill veranschaulicht, die zwei Parameter erfordert: eine Statuszeichenfolge und eine Bezeichnungszeichenfolge. Wenn keine Parameter angegeben werden, muss ein leeres Objekt mit dem Typ „object“ als Anforderungstext übergeben werden.
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "filter issues by status (open, closed)",
"enum": ["open", "closed"]
},
"label": {
"type": "string",
"description": "filter issues by label"
}
}
}
Mit diesem Format können Benutzer Anforderungen in natürlicher Sprache wie find open security issues
vornehmen, und Copilot strukturiert den entsprechenden API-Aufruf.
Verwenden deines Skillsets
So verwendest du dein Skillset:
-
Gib
@
gefolgt vom Namen der Erweiterung ein. -
Gib deinen Prompt in natürlicher Sprache ein.
Zum Beispiel:
@skillset-example generate a lorem ipsum
@skillset-example give me sample data with 100 words
Copilot interpretiert deine Anfrage und ruft die entsprechende Fähigkeit mit den richtigen Parametern auf. Es ist nicht erforderlich, anzugeben, welcher Skill verwendet werden soll. Copilot bestimmt dies aus deiner Anforderung in natürlicher Sprache und den bereitgestellten Rückschlussbeschreibungen.
Einrichten eines Skillsets
- Klicke auf GitHub in der oberen rechten Ecke einer beliebigen Seite auf dein Profilfoto.
- Navigieren Sie zu den Einstellungen für Ihr Konto.
- Klicken Sie bei einer App, die zu einem persönlichen Konto gehört, auf Einstellungen.
- Für eine App im Besitz einer Organisation:
- Klicke Sie auf Ihre Organisationen.
- Klicke dann rechts neben der Organisation auf Einstellungen.
- Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.
- Klicke auf der linken Randleiste auf GitHub Apps .
- Klicke in der Liste der GitHub Apps auf die GitHub App, die du für dein Skillset konfigurieren möchtest.
- Wähle im Navigationsmenü auf der linken Seite Copilot aus.
- Wähle unter App Type die Option Skillset aus dem Dropdownmenü aus.
- Gib optional im Feld Pre-authorization URL die URL ein, an die Benutzer umgeleitet werden, um den Authentifizierungsprozess zu starten. Dieser Schritt ist erforderlich, wenn deine API erfordert, dass Benutzer ihr GitHub-Konto verknüpfen, um auf bestimmte Features oder Daten zuzugreifen.
- Für jeden Skill, den du hinzufügen möchtest (maximal 5):
- Klicke auf Add new skill.
- Gib einen verständlichen Name für den Skill ein, z. B. „Generate Lorem Ipsum Data“.
- Schreibe eine detaillierte Inference description, damit Copilot weiß, wann dieser Skill angewendet werden soll.
- Füge deine API-Endpunkt-URL hinzu, die die POST-Anforderungen empfängt.
- Füge im Feld Parameter das JSON-Schema hinzu, das das erwartete Anforderungsformat definiert.
- Klicke auf Add Definition, um den Skill zu speichern.
- Klicke auf Save, um das Skillset zu speichern.