Note
GitHub Copilot Extensions は パブリック プレビュー 段階であり、変更される可能性があります。
はじめに
Github Copilot skillsets は、Copilot が呼び出すことのできる API エンドポイントを定義することで GitHub Copilot の機能を拡張する効率的な方法です。 スキルセットを作成すると、Copilot によって AI の対話がすべて処理されて、エンドポイントからデータまたは機能が提供されます。 このガイドでは、GitHub App でスキルセットを構成して配置する手順を見ていきます。
前提条件
作業を開始する前に、次の準備ができていることを確認します。
- 構成済みの GitHub App: スキルセットのコンテナーとして機能する GitHub App が必要です。 まだ設定していない場合は、「Copilot 拡張機能用の GitHub アプリの作成」と「Copilot 拡張機能用の GitHub アプリの構成」を参照してください。
- API エンドポイント: スキルごとに 1 つのエンドポイントが必要です。 各エンドポイントでは、次のことが必要です。
application/json
MIME タイプの POST 要求を受け入れます- GitHub からの要求の署名を検証して、配信元を認証し、認可されていないアクセスを防ぐことができます
- HTTPS 経由でパブリックにアクセスできます
署名の検証の詳細については、「ペイロードが GitHub から送信されていることを確認する」を参照してください。
構成要件
各スキルセットは、GitHub App 内で定義されています。 1 つの GitHub App に、最大で 5 つのスキルを含めることができます。 個々のスキルごとに次のものが必要です。
- 名前: わかりやすい名前 (例: "問題の取得")。
- 推論の説明: スキルで行われることと、それを使うべきときについての詳細な説明 (例: "状態やラベルなどの特定の条件に一致する外部の問題を検索する")。
- API エンドポイント: JSON 要求を受け入れる POST エンドポイント。
- JSON スキーマ: エンドポイントで想定されているデータの構造。
JSON スキーマの例
この例では、状態文字列とラベル文字列の 2 つのパラメーターを必要とするスキルを示します。 パラメーターを指定しない場合は、型 'object' の空のオブジェクトを要求本文として渡す必要があります。
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "filter issues by status (open, closed)",
"enum": ["open", "closed"]
},
"label": {
"type": "string",
"description": "filter issues by label"
}
}
}
この形式を使うと、ユーザーは find open security issues
のような自然言語で要求を行うことができ、Copilot は適切な API 呼び出しを構成します。
スキルセットの使用
スキルセットを使うには:
-
@
に続けて拡張機能の名前を入力します。 -
プロンプトを自然言語で入力します。
次に例を示します。
@skillset-example generate a lorem ipsum
@skillset-example give me sample data with 100 words
Copilot は要求を解釈し、正しいパラメーターを使って適切なスキルを呼び出します。 使うスキルを指定する必要はありません。Copilot が、自然言語の要求と指定された推論の説明からこれを決定します。
スキルセットの設定
- GitHub の任意のページの右上隅にある、自分のプロファイル写真をクリックします。
- アカウント設定にアクセスしてください。
- 個人用アカウントが所有するアプリの場合は、[設定] をクリックします。
- 組織が所有するアプリの場合:
- [自分の組織] をクリックします。
- 組織の右側にある [設定] をクリックします。
- 左側のサイドバーで [ 開発者設定] をクリックします。
- 左側のサイドバーで、 [GitHub Apps] をクリックします。
- GitHub Apps の一覧で、スキルセット用に構成する GitHub App をクリックします。
- 左側のナビゲーション メニューで、[Copilot] を選びます。
- [App Type] で、ドロップダウン メニューから [Skillset] を選びます。
- 必要に応じて、[Pre-authorization URL] フィールドに、認証プロセスを開始するためにユーザーをリダイレクトする URL を入力します。 特定の機能やデータにアクセスするために API でユーザーを GitHub アカウントに接続する必要がある場合、このステップが必要です。
- 追加するスキルごとに (最大 5):
- [Add new skill] をクリックします。
- スキルの明確な [Name] を入力します (例: "Generate Lorem Ipsum Data")。
- Copilot がこのスキルを使うべきときを理解するのに役立つ、詳細な [Inference description] を書きます。
- POST 要求を受け取る [API endpoint URL] を追加します。
- [Parameter] フィールドに、予想される要求形式を定義する JSON スキーマを追加します。
- [Add Definition] をクリックしてスキルを保存します。
- [Save] をクリックしてスキルセットを保存します。