Skip to main content

Usar o LLM do Copilot para seu agente

Saiba como usar o LLM do Copilot para seu agente.

Note

As GitHub Copilot Extensions estão em versão prévia pública e sujeitas a alterações.

Sobre o LLM (Modelo de Aprendizado de Linguagens) do Copilot

O LLM (Modelo de Aprendizado de Linguagens) do Copilot é um modelo de linguagem poderoso e em larga escala que é treinado em uma ampla gama de fontes de dados, incluindo código, documentação e outros textos. O LLM do Copilot sustenta a funcionalidade do GitHub Copilot e é usado para alimentar todos os recursos do Copilot, incluindo geração de código, geração de documentação e conclusão de código.

Você tem a opção de usar o LLM do Copilot para alimentar seu agente, o que poderá ser útil se você quiser que seu agente seja capaz de gerar conclusões para mensagens do usuário, mas não quiser gerenciar seu próprio LLM.

Note

Os agentes de terceiros têm limitações de fluxo rígidas para usar o LLM do Copilot. Se o seu agente de terceiros precisar gerar um grande número de conclusões, considere usar seu próprio LLM ou uma API como o OpenAI.

Usar o LLM do Copilot para seu agente.

Você pode chamar a implantação do LLM do Copilot em https://api.githubcopilot.com/chat/completions com uma solicitação POST. A solicitação e as respostas devem estar no mesmo formato que a API OpenAI.

Para autenticar, use o mesmo cabeçalho X-Github-Token enviado ao seu agente. Para obter mais informações, consulte "Configurar o agente do Copilot para se comunicar com o GitHub".

Aqui está um exemplo de como a implantação do LLM do Copilot é usada pela extensão Blackbeard para gerar conclusões para uma mensagem do usuário:

  // 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,
      }),
    }
  );

Para ver este exemplo em seu contexto completo, consulte a extensão Blackbeard.