Skip to main content

Guide de démarrage rapide pour les modèles GitHub

Exécutez votre premier modèle avec GitHub Models en quelques minutes.

Introduction

GitHub Models est une API d'inférence IA de GitHub qui vous permet d'exécuter des modèles IA en utilisant uniquement vos identifiants GitHub. Vous pouvez choisir parmi de nombreux modèles différents, notamment ceux proposés par OpenAI, Meta et DeepSeek, et les utiliser dans des scripts, des applications ou même GitHub Actions, sans processus d'authentification distinct.

Ce guide vous aide à tester rapidement des modèles dans le terrain de jeu, puis vous montre comment exécuter votre premier modèle via une API ou un flux de travail.

Étape 1 : Essayer des modèles dans le terrain de jeu

  1. Accédez à https://github.com/marketplace/models.

  2. Dans le terrain de jeu, sélectionnez au moins un modèle dans le menu déroulant.

  3. Testez différentes invites à l’aide de la vue conversation instantanée et comparez les réponses de différents modèles.

  4. Utilisez la vue Paramètres pour personnaliser les paramètres des modèles que vous testez, puis découvrez leur impact sur les réponses.

    Remarque

    Le terrain de jeu fonctionne dès son installation si vous êtes connecté à GitHub. Il utilise votre compte GitHub pour l'accès, sans configuration ni clés API requises.

Étape 2 : Effectuer un appel d’API

Pour plus de détails sur les champs disponibles, les en-têtes et les formats de requête, consultez la référence API pour GitHub Models.

Pour appeler des modèles par programmation, vous aurez besoin de :

  • Un compte GitHub.
  • Un personal access token (PAT) avec la models portée, que vous pouvez créer dans les paramètres.
  1. Exécutez curlla commande suivante, en remplaçantYOUR_GITHUB_PAT par votre propre jeton.

    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. Vous recevez une réponse semblable à celle-ci :

    {
      "choices": [
        {
          "message": {
            "role": "assistant",
            "content": "The capital of France is **Paris**."
          }
        }
      ],
      ...other fields omitted
    }
    
  3. Pour essayer d’autres modèles, remplacez la valeur du champ model de la charge utile JSON par une valeur de la de la place de marché.

Étape 3 : Exécuter des modèles dans GitHub Actions

  1. Dans votre référentiel, créez un fichier de flux de travail à .github/workflows/models-demo.yml.

  2. Collez le flux de travail suivant dans le fichier que vous venez de créer.

    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'
    

    Remarque

    Les flux de travail qui appellent GitHub Models doivent inclure models: read dans le bloc des autorisations. Les exécuteurs hébergés par GitHub fournissent automatiquement un GITHUB_TOKEN.

  3. Validez et validez pour déclencher le flux de travail.

Cet exemple montre comment envoyer une invite à un modèle et utiliser la réponse dans vos flux de travail d'intégration continue (CI). Pour des cas d'utilisation plus avancés, tels que la synthèse des problèmes, la détection des étapes de reproduction manquantes pour les rapports de bogues ou la réponse aux demandes d'extraction, consultez Intégrer des modèles d'IA dans votre flux de développement.

Étape 4 : Enregistrer votre premier fichier d’invite

GitHub Models prend en charge les invites réutilisables définies dans les fichiers .prompt.yml. Une fois que vous avez ajouté ce fichier à votre référentiel, il apparaît dans la page Modèles de votre référentiel et peut être exécuté directement dans l’éditeur d’invite et les outils d’évaluation. En savoir plus sur Storing prompts in GitHub repositories.

  1. Dans votre référentiel, créez un fichier nommé summarize.prompt.yml. Vous pouvez l’enregistrer dans n’importe quel répertoire.

  2. Collez l'exemple d'invite suivant dans le fichier que vous venez de créer.

    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. Validez et transférez le fichier vers votre référentiel.

  4. Accédez à l’onglet Modèles de votre référentiel.

  5. Dans le menu de navigation, cliquez sur Invites, puis cliquez sur le fichier d'invite.

  6. L’invite s’ouvre dans l’éditeur d’invite. Cliquez sur Exécuter. Une barre latérale droite s’affiche pour vous demander d’entrer du texte d’entrée. Entrez du texte d’entrée, puis cliquez sur Exécuter à nouveau dans le coin inférieur droit pour le tester.

    Remarque

    L’éditeur d’invite ne transmet pas automatiquement le contenu du référentiel aux invites. Vous fournissez l’entrée manuellement.

Étape 5 : Configurer votre première évaluation

Les évaluations vous aident à mesurer la façon dont les différents modèles répondent aux mêmes entrées afin de pouvoir choisir le meilleur pour votre cas d’usage.

  1. Revenez au fichier summarize.prompt.yml que vous avez créé à l'étape précédente.

  2. Mettez à jour le fichier pour qu'il corresponde à l'exemple suivant.

      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. Validez et transférez le fichier vers votre référentiel.

  4. Dans votre référentiel, cliquez sur l'onglet Modèles. Cliquez ensuite sur ** Invites **et rouvrez la même invite dans l'éditeur d'invites.

  5. Dans le coin supérieur gauche, vous pouvez basculer la vue de Modifier vers Comparer. Cliquez sur Comparer.

  6. Votre évaluation sera configurée automatiquement. Cliquez sur Exécuter pour afficher les résultats.

    Conseil

    En cliquant sur Ajouter une invite, vous pouvez exécuter la même invite avec différents modèles ou modifier la formulation de l’invite pour obtenir des réponses d’inférence avec plusieurs variantes à la fois, voir les évaluations et les afficher côte à côte pour prendre des décisions de modèle pilotées par les données.

Étapes suivantes