Skip to main content

Inicio rápido para GitHub Models

Ejecuta tu primer modelo con GitHub Models en cuestión de minutos.

Introducción

GitHub Models es una API de inferencia de IA de GitHub que te permite ejecutar modelos de IA simplemente con tus credenciales de GitHub. Puedes elegir entre muchos modelos diferentes, incluidos OpenAI, Meta y DeepSeek, y usarlos en scripts, aplicaciones o incluso en 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

  1. Ir a https://github.com/marketplace/models.

  2. En el área de juegos, selecciona al menos un modelo en el menú desplegable.

  3. Prueba diferentes mensajes con la vista Chat y compara las respuestas de diferentes modelos.

  4. 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 manera predeterminada si has iniciado sesión en GitHub. Usa tu cuenta de GitHub para el acceso, sin necesidad de configuración ni de claves de API.

Paso 2: Realización de una llamada API

Para obtener detalles completos sobre los campos, encabezados y formatos de solicitud disponibles, consulta la referencia de API de GitHub Models.

Para llamar a los modelos mediante programación, necesitarás lo siguiente:

  • Una cuenta de A GitHub.
  • Un personal access token (PAT) con el ámbito models, que puedes crear en la configuración.
  1. Ejecuta el siguiente comando curl y reemplaza YOUR_GITHUB_PAT por 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?"}]}'
    
  2. Recibirás una respuesta como la siguiente:

    {
      "choices": [
        {
          "message": {
            "role": "assistant",
            "content": "The capital of France is **Paris**."
          }
        }
      ],
      ...other fields omitted
    }
    
  3. Para probar otros modelos, cambia el valor del campo model de la carga JSON por uno des marketplace.

Paso 3: Ejecución de modelos en GitHub Actions

  1. En el repositorio, crea un archivo de flujo de trabajo en .github/workflows/models-demo.yml.

  2. Pega el flujo de trabajo siguiente en el archivo que acabas de crear.

    name: GitHub Models Demo
    
    on: [push]
    
    permissions:
      contents: read
      models: read
    
    jobs:
      summarize-repo:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout code
            uses: actions/checkout@v4
    
          - name: Summarize the repository README
            run: |
              SUMMARY_INPUT=$(head -c 4000 README.md)
              PROMPT="Summarize this repository in one sentence. Here is the README:\n$SUMMARY_INPUT"
              PAYLOAD=$(jq -n --arg prompt "$PROMPT" '{
                model: "openai/gpt-4.1",
                messages: [
                  {role: "user", content: $prompt}
                ]
              }')
              RESPONSE=$(curl -sL \
                -X POST \
                -H "Accept: application/vnd.github+json" \
                -H "Authorization: Bearer $" \
                -H "X-GitHub-Api-Version: 2022-11-28" \
                -H "Content-Type: application/json" \
                https://models.github.ai/inference/chat/completions \
                -d "$PAYLOAD")
              echo "$RESPONSE" | jq -r '.choices[0].message.content'
    

    Nota:

    Los flujos de trabajo que llaman a GitHub Models deben incluir models: read en el bloque de permisos. Los ejecutores hospedados en GitHub proporcionan una instancia de GITHUB_TOKEN de forma automática.

  3. 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 obtener casos de uso más avanzados, como resumir incidencias, detectar pasos de reproducción que faltan para informes de errores o responder a solicitudes de cambios, consulta Integración de modelos de IA en el flujo de trabajo de desarrollo.

Paso 4: Guardado del primer archivo de mensaje

GitHub Models admite mensajes reutilizables definidos en archivos .prompt.yml. 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. Más información sobre Storing prompts in GitHub repositories.

  1. En el repositorio, crea un archivo con el nombre summarize.prompt.yml. Puedes guardarlo en cualquier directorio.

  2. Pega el mensaje de ejemplo siguiente en el archivo que acabas de crear.

    name: One-line summary
    description: Ask the model to summarize a paragraph in one sentence.
    messages:
      - role: user
        content: 'Summarize the following text in one sentence: '
    model: openai/gpt-4o
    
  3. Confirma e inserta el archivo en el repositorio.

  4. Navega a la pestaña Models del repositorio.

  5. En el menú de navegación, haz clic en Prompts y después en el archivo de mensaje.

  6. 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.

  1. Vuelve al archivo summarize.prompt.yml que has creado en el paso anterior.

  2. Actualiza el archivo para que sea igual que el ejemplo siguiente.

      name: One-line summary
      description: Ask the model to summarize a paragraph in one sentence.
      messages:
        - role: user
          content: 'Summarize the following text in one sentence: '
      model: openai/gpt-4o
      testData:
        - 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: >-
            The museum's new dinosaur exhibit attracted many families with its fossils
            and interactive displays.
        - input: >-
            Lucy baked cookies for the school fundraiser. She spent the entire evening
            in the kitchen to make sure there were enough for everyone.
          expected: Lucy baked cookies all evening to support the school fundraiser.
      evaluators:
        - name: Similarity
          uses: github/similarity
    
  3. Confirma e inserta el archivo en el repositorio.

  4. En e repositorio, haz clic en la pestaña Models. Después, haz clic en Prompts y vuelve a abrir el mismo mensaje en el editor de mensajes.

  5. En la esquina superior izquierda, puedes cambiar la vista de Edit a Compare. Haga clic en Compare (Comparar).

  6. La evaluación se configurará 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