Skip to main content

Uso de LLM de Copilot para el agente

Aprenda a usar LLM de Copilot para el agente.

Note

GitHub Copilot Extensions se encuentra en versión preliminar pública y está sujeto a cambios.

Acerca del modelo de aprendizaje del lenguaje (LLM) de Copilot

El modelo de aprendizaje del lenguaje (LLM) de Copilot es un modelo de lenguaje eficaz y a gran escala que se entrena en una amplia gama de orígenes de datos, como código, documentación y otros textos. El LLM de Copilot respalda la funcionalidad de GitHub Copilot, y se usa para alimentar todas las características de Copilot, incluida la generación de código, la generación de documentación y la finalización del código.

Tiene la opción de usar el LLM de Copilot para impulsar el agente, lo que puede resultar útil si desea que el agente pueda generar finalizaciones para los mensajes de usuario, pero no quiere administrar su propio LLM.

Note

Los agentes de terceros tienen límites de velocidad estrictos para usar el LLM de Copilot. Si el agente de terceros necesitará generar un gran número de finalizaciones, considere la posibilidad de usar su propio LLM o una API como OpenAI.

Usar LLM de Copilot para el agente

Puede llamar al equipo de despliegue de Copilot en https://api.githubcopilot.com/chat/completions con una solicitud POST. La solicitud y las respuestas deben tener el mismo formato que la API de OpenAI.

Para autenticarse, use el mismo encabezado X-Github-Token enviado al agente. Para más información, consulta Configuración del agente de Copilot para comunicarse con GitHub.

Este es un ejemplo de cómo la extensión Blackbeard usa el despliegue del LLM de Copilot para generar finalizaciones para un mensaje de usuario:

  // 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 ejemplo en su contexto completo, consulte la extensión Blackbeard.