La integración de la Inteligencia Artificial (IA) puede ser un diferenciador clave para cualquier proyecto de código abierto. Sin embargo, la necesidad de que los usuarios configuren y aporten sus propias claves API de pago para modelos de lenguaje grandes (LLM) puede ser un obstáculo importante para la adopción.
GitHub Models busca eliminar esta fricción, ofreciendo una API de inferencia gratuita y compatible con OpenAI que cualquier cuenta de GitHub puede utilizar, sin necesidad de nuevas claves, consolas o SDKs. En este artículo, exploraremos cómo puedes integrar GitHub Models en tu proyecto, ejecutarlo en CI/CD y escalarlo a medida que tu comunidad crezca.
El coste oculto de “Simplemente añade IA”
Aunque las funcionalidades de IA parecen omnipresentes hoy en día, ponerlas en marcha localmente sigue siendo un desafío por varias razones:
-
- APIs de pago: La opción más sencilla es pedir a los usuarios una clave de OpenAI o Anthropic, pero esto puede ser prohibitivo para muchos usuarios, especialmente estudiantes y aficionados, debido al coste.
-
- Modelos locales: Ejecutar un LLM de 2B parámetros puede funcionar para tareas ligeras, pero cualquier cosa que requiera más inteligencia rápidamente superará la memoria típica de un portátil, por no hablar del contenedor de 14 GB que respalda un runner de GitHub Actions.
-
- Imágenes y pesos de Docker: Puedes empaquetar un modelo con tu aplicación, pero distribuir pesos de varios gigabytes infla el tamaño de la instalación y ralentiza la integración continua (CI).
Cada requisito adicional reduce el número de usuarios y colaboradores potenciales. Lo que se necesita es un punto final de inferencia que sea:
-
- Gratuito para proyectos públicos.
-
- Compatible con los SDKs de OpenAI existentes.
-
- Disponible dondequiera que se ejecute tu código, como tu portátil, servidor o runner de Actions.
Eso es lo que proporciona GitHub Models.
GitHub Models en pocas palabras
-
- Qué es: Un punto final REST que utiliza la especificación de chat/completions que ya conoces.
-
- Qué obtienes: Un conjunto seleccionado de modelos (GPT-4o, DeepSeek-R1, Llama 3 y más) alojados por GitHub.
-
- Quién puede llamarlo: Cualquiera con un Token de Acceso Personal (PAT) de GitHub, o el
GITHUB_TOKEN
incorporado de un repositorio cuando se opta por ello a través de los permisos.
- Quién puede llamarlo: Cualquiera con un Token de Acceso Personal (PAT) de GitHub, o el
-
- Cuánto cuesta: Nivel gratuito para todas las cuentas personales y organizaciones de código abierto; el nivel de pago medido desbloquea un mayor rendimiento y ventanas de contexto más grandes.
Debido a que la API refleja la de OpenAI, cualquier cliente que acepte una baseURL
funcionará sin cambios en el código. Esto incluye OpenAI-JS, OpenAI Python, LangChain, llamacpp o tu propio script curl
.
Cómo empezar con GitHub Models
Dado que GitHub Models es compatible con la API de chat/completions de OpenAI, casi cualquier SDK de inferencia puede utilizarlo. Para empezar, puedes utilizar el SDK de OpenAI:
import OpenAI from "openai";const openai = new OpenAI({
baseURL: "https://models.github.ai/inference/chat/completions", apiKey: process.env.GITHUB_TOKEN // or any PAT with models:read
});
const res = await openai.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: "¡Hola!"
}]
});
console.log(res.choices[0].message.content);
Si escribes tu software de código abierto de IA con GitHub Models como proveedor de inferencia, todos los usuarios de GitHub podrán empezar a utilizarlo simplemente proporcionando un Token de Acceso Personal (PAT) de GitHub.
Y si tu software se ejecuta en GitHub Actions, tus usuarios ni siquiera tendrán que proporcionar un PAT. Al solicitar el permiso models: read
en tu archivo de flujo de trabajo, el token de GitHub incorporado tendrá permisos para realizar solicitudes de inferencia a GitHub Models. Esto significa que puedes construir toda una serie de Actions impulsadas por IA que se pueden compartir e instalar con un solo clic. Por ejemplo:
- Bots de revisión de código o triage de PR.
- Flujos de trabajo inteligentes de etiquetado de incidencias.
- Generadores semanales de informes de actividad del repositorio.
- Y cualquier otra cosa que una Acción de GitHub pueda hacer.
Además, el uso de GitHub Models facilita a tus usuarios la configuración de la inferencia de IA, y esto tiene otro efecto positivo: también facilita a tus colaboradores la configuración de la inferencia de IA. Cuando cualquiera con una cuenta de GitHub puede ejecutar tu código de principio a fin, podrás obtener contribuciones de toda la gama de usuarios de GitHub, no sólo de los que tienen una clave de OpenAI.
CI sin configuración con GitHub Actions
Publicar una Acción que dependa de la IA solía requerir que los usuarios añadieran su clave API de inferencia como un secreto de GitHub Actions. Ahora puedes enviar una instalación con un solo clic:
yaml
# .github/workflows/triage.yml
permissions:
contents: read
issues: write
models: read # 👈 unlocks GitHub Models for the GITHUB_TOKEN
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Smart issue triage
run: node scripts/triage.js
El GITHUB_TOKEN
del runner tiene el alcance models:read
, por lo que tu Acción puede llamar a cualquier modelo sin configuración adicional. Esto lo hace muy adecuado para:
- Resúmenes automatizados de pull requests.
- Deduplicación y etiquetado de incidencias.
- Resúmenes semanales del repositorio.
- Cualquier otra cosa que puedas programar en una Acción.
Escalando cuando tu proyecto despegue
La API de inferencia de GitHub Models es gratuita para todos. Pero si tú o tus usuarios queréis hacer más inferencia de la que permiten los límites de velocidad gratuitos, podéis activar la inferencia de pago en vuestra configuración para obtener ventanas de contexto significativamente mayores y más solicitudes por minuto.
Cuando tu comunidad crezca, también lo hará el tráfico. Por lo tanto, es importante tener en cuenta lo siguiente:
- Solicitudes por minuto (RPM): Si bien el nivel gratuito ofrece límites predeterminados, el nivel de pago ofrece múltiplos superiores.
- Ventana de contexto: El nivel gratuito tiene un tope en los límites estándar del modelo; el de pago permite 128k tokens en los modelos compatibles.
- Latencia: El nivel de pago se ejecuta en su propio despliegue separado, por lo que no estás en la misma cola que los usuarios del nivel gratuito.
Para empezar, puedes activar el uso de pago en Settings > Models
para tu organización o empresa. Tus clientes y tokens existentes seguirán funcionando (pero serán más rápidos y admitirán contextos más grandes).
Conclusión
Los LLM están transformando la forma en que los desarrolladores construyen y envían software, pero requerir que los usuarios proporcionen su propia clave API de pago puede ser una barrera de entrada. La magia sólo ocurre cuando el primer npm install
, cargo run
o go test
simplemente funciona.
Si mantienes una base de código de código abierto impulsada por la IA, deberías considerar la posibilidad de añadir GitHub Models como proveedor de inferencia predeterminado. Tus usuarios ya tienen inferencia de IA gratuita a través de GitHub, por lo que hay pocas desventajas en permitirles usarla con tu código. Esto es doblemente cierto si tu proyecto puede ejecutarse en GitHub Actions. ¡La mejor clave API es la que no existe!
Al hacer que la inferencia de alta calidad sea un valor predeterminado gratuito para todos los desarrolladores en GitHub, GitHub Models elimina el mayor obstáculo para la adopción de la IA de código abierto. Y eso abre la puerta a más contribuciones, una incorporación más rápida y usuarios más felices.
¿Quieres probarlo? Consulta la documentación de GitHub Models o salta directamente a la referencia de la API y empieza a enviar características de IA que simplemente funcionan hoy mismo.
Referencia: GitHub Blog
Leave a Comment