Skip to main content

エージェントに Copilot の LLM を使用する

エージェントに Copilot の LLM を使用する方法について説明します。

Note

GitHub Copilot Extensions は パブリック プレビュー 段階であり、変更される可能性があります。

Copilot の言語学習モデル (LLM) について

Copilot の 言語学習モデル (LLM) は、コード、ドキュメント、その他のテキストなど、さまざまなデータ ソースでトレーニングされる強力な大規模言語モデルです。 Copilot の LLM は GitHub Copilot の機能を支え、コード生成、ドキュメント生成、コード補完など、Copilot のすべての機能を活用するために使用されます。

Copilot の LLM を使用してエージェントに電力を供給することもできます。これは、エージェントがユーザー メッセージの入力候補を生成できるようにしたいが、独自の LLM を管理したくない場合に便利です。

Note

サードパーティのエージェントには、Copilot の LLM を使用するための厳密なレート制限があります。 サード パーティのエージェントで多数の入力候補を生成する必要がある場合は、独自の LLM または OpenAI などの API の使用を検討する必要があります。

エージェントに Copilot の LLM を使用する

POST 要求を使用して、https://api.githubcopilot.com/chat/completions で Copilot の LLM デプロイを呼び出すことができます。 要求と応答は、OpenAI API と同じ形式にする必要があります。

認証するには、エージェントに送信されたのと同じ X-Github-Token ヘッダーを使用します。 詳しくは、「GitHub と通信するように Copilot エージェントを構成する」をご覧ください。

次に示すのは、Copilot の LLM デプロイを Blackbeard 拡張機能で使用して、ユーザー メッセージの入力候補を生成する方法の例です。

  // Use Copilot's LLM to generate a response to the user's
  //  messages, with our extra system messages attached.
  const copilotLLMResponse = await fetch(
    "https://api.githubcopilot.com/chat/completions",
    {
      method: "POST",
      headers: {
        authorization: `Bearer ${tokenForUser}`,
        "content-type": "application/json",
      },
      body: JSON.stringify({
        messages,
        stream: true,
      }),
    }
  );

この例を完全なコンテキストで確認するには、「Blackbeard 拡張機能」を参照してください。