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.

    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"
                }'
    

    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.

    YAML
    name: Text Summarizer
    description: Summarizes input text concisely
    model: 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>
    
  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.

    YAML
    name: Text Summarizer
    description: Summarizes input text concisely
    model: 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
    
  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