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.

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

    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.

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

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