Introducción
GitHub Models es una API de inferencia de IA desde GitHub la que le permite ejecutar modelos de IA con solo sus GitHub credenciales. Puede elegir entre muchos modelos diferentes, incluidos OpenAI, Meta y DeepSeek, y usarlos en scripts, aplicaciones o incluso GitHub Actions, sin ningún proceso de autenticación independiente.
Esta guía te ayuda a probar modelos rápidamente en el área de juegos y, después, te muestra cómo ejecutar el primer modelo mediante la API o el flujo de trabajo.
Paso 1: Prueba de los modelos en el área de juegos
-
En el área de juegos, selecciona al menos un modelo en el menú desplegable.
-
Prueba diferentes mensajes con la vista Chat y compara las respuestas de diferentes modelos.
-
Usa la vista Parameters para personalizar los parámetros de los modelos que pruebas y, después, ver cómo afectan a las respuestas.
Nota:
El área de juegos funciona de forma predeterminada si ha iniciado sesión en GitHub. Usa la GitHub cuenta para el acceso, no se requiere ninguna configuración ni claves de API.
Paso 2: Realización de una llamada API
Para obtener información completa sobre los campos, encabezados y formatos de solicitud disponibles, consulte la referencia de API para GitHub Models.
Para llamar a los modelos mediante programación, necesitarás lo siguiente:
- Una GitHub cuenta.
- Un personal access token (PAT) con el
modelsámbito, que puede crear en los ajustes.
-
Ejecuta el siguiente comando
curly reemplazaYOUR_GITHUB_PATpor el token.Bash curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}' -
Recibirás una respuesta como la siguiente:
{ "choices": [ { "message": { "role": "assistant", "content": "The capital of France is **Paris**." } } ], ...other fields omitted } -
Para probar otros modelos, cambie el valor del campo
modelde la carga JSON por uno del marketplace.
Paso 3: Ejecutar modelos en GitHub Actions
-
En el repositorio, cree un archivo de flujo de trabajo en
.github/workflows/models-demo.yml. -
Pega el flujo de trabajo siguiente en el archivo que acabas de crear.
YAML name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'Nota:
Los flujos de trabajo que llaman a GitHub Models deben incluir
models: readen el bloque de permisos. GitHubLos ejecutores hospedados proporcionan unGITHUB_TOKENautomáticamente. -
Confirma e inserta para desencadenar el flujo de trabajo.
En este ejemplo se muestra cómo enviar un mensaje a un modelo y usar la respuesta en los flujos de trabajo de integración continua (CI). Para casos de uso más avanzados, como resumir problemas, detectar pasos de reproducción faltantes para informes de errores o responder a pull-requests, consulte Configuración de acceso a modelos de IA en GitHub Copilot.
Paso 4: Guarda tu primer archivo de aviso
GitHub Models admite avisos reutilizables definidos en `.prompt.yml` archivos. Una vez que agregues este archivo al repositorio, aparecerá en la página Models del repositorio y se puede ejecutar directamente en el Editor de mensajes y en las herramientas de evaluación. Obtenga más información sobre [AUTOTITLE](/github-models/use-github-models/storing-prompts-in-github-repositories).
-
En el repositorio, crea un archivo con el nombre
summarize.prompt.yml. Puedes guardarlo en cualquier directorio. -
Pega el mensaje de ejemplo siguiente en el archivo que acabas de crear.
YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> -
Confirma e inserta el archivo en el repositorio.
-
Navega a la pestaña Models del repositorio.
-
En el menú de navegación, haga clic en Indicaciones y luego haga clic en el archivo de indicaciones.
-
El mensaje se abrirá en el editor de mensajes. Haga clic en Ejecutar. Aparecerá una barra lateral derecha en la que se te pedirá que escribas texto de entrada. Escribe cualquier texto de entrada y, después, haz clic en Run de nuevo en la esquina inferior derecha para probarlo.
Nota:
El editor de mensajes no pasa automáticamente el contenido del repositorio a los mensajes. La entrada se proporciona manualmente.
Paso 5: Configuración de la primera evaluación
Las evaluaciones te ayudan a medir cómo responden los distintos modelos a las mismas entradas para que puedas elegir el mejor para tu caso de uso.
-
Vuelve al archivo
summarize.prompt.ymlque creó en el paso anterior. -
Actualiza el archivo para que sea igual que el ejemplo siguiente.
YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - input: | The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarityname: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - input: | The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarity -
Confirma e inserta el archivo en el repositorio.
-
En el repositorio, haga clic en la pestaña Modelos . A continuación, haga clic en Avisos y vuelva a abrir el mismo mensaje en el editor de mensajes.
-
En la esquina superior izquierda, puedes cambiar la vista de Edit a Compare. Haga clic en Compare (Comparar).
-
La evaluación se establecerá automáticamente. Haz clic en Run para ver los resultados.
Sugerencia
Al hacer clic en Add prompt, puedes ejecutar el mismo mensaje con modelos diferentes, o bien cambiar el texto del mensaje para obtener respuestas de inferencia con varias variaciones a la vez, observar las evaluaciones y verlas en paralelo para tomar decisiones de modelo controladas por datos.
Pasos siguientes
-
[AUTOTITLE](/github-models/about-github-models). -
[Navegar por el catálogo de modelos](https://github.com/marketplace?type=models) -
[AUTOTITLE](/github-models/use-github-models/storing-prompts-in-github-repositories) -
[AUTOTITLE](/github-models/use-github-models/evaluating-ai-models) -
[AUTOTITLE](/github-models/use-github-models/integrating-ai-models-into-your-development-workflow#using-ai-models-with-github-actions)