Skip to main content

Utilisation de GitHub Models pour développer des applications basées sur l’IA dans votre entreprise

Simplifiez le développement d’IA dans votre entreprise.

Qui peut utiliser cette fonctionnalité ?

Organization owners and enterprise owners

Remarque

GitHub Models pour les organisations et les dépôts est dans préversion publique et peut être modifié.

GitHub Models permet à vos développeurs de créer des applications basées sur l’IA à grande échelle pendant que votre entreprise gère le contrôle, la conformité et l’efficacité des coûts.

Pourquoi GitHub Models ?

  •         **Gestion centralisée des modèles :** Contrôler les modèles et fournisseurs IA disponibles pour les développeurs au sein de votre organisation.
    
  •         **Développement IA à grande vitesse :** prototyper rapidement, évaluer et optimiser les requêtes et les modèles.
    
  •         **Accès API :** Utilisez l’API REST GitHub Models pour automatiser et intégrer des flux de travail d’entreprise.
    
  •         **Intégration de modèle personnalisé :** apportez vos propres clés API LLM pour connecter des modèles externes ou personnalisés, ce qui permet à votre organisation de mieux contrôler les modèles disponibles dans GitHub Models, tout en conservant l’alignement sur vos modes de paiement, crédits et fournisseurs existants.
    
  •         **Contrôles de gouvernance et de conformité :** appliquer les normes de votre organisation et surveiller l’utilisation du modèle.
    
  •         **Optimisation des coûts :** Éviter les coûts inattendus des modèles à prix élevé.
    
  •         **Collaboration :** Partagez des instructions et des résultats à l’aide des pratiques de développement standard GitHub.
    
  •         ** architecture axée sur l’insécurité :** Soyez assuré que vos données restent dans GitHub et Azure et qu’elles ne sont pas partagées avec les fournisseurs de modèles.
    
  •         **Interface visuelle :** autoriser les membres de l’équipe non technique à contribuer aux côtés des développeurs.
    
  •         **Contrôle de version :** Toutes les modifications de prompt et de modèle passent par un flux standard de commit et de pull request sur GitHub afin que vous sachiez quand et pourquoi un prompt a changé.
    

Consultez À propos des modèles GitHub.

Meilleures pratiques pour l’utilisation de GitHub Models à grande échelle

Les meilleures pratiques suivantes peuvent vous aider à utiliser efficacement GitHub Models dans toute votre organisation.

Comparer et évaluer des modèles IA pour la gouvernance et la conformité

Passez en revue et comparez les modèles IA disponibles par rapport aux exigences de gouvernance, de sécurité des données et de conformité de votre entreprise’. Vous pouvez le faire dans n’importe quel référentiel GitHub compatible avec Models ou dans le catalogue GitHub Models depuis le GitHub Marketplace sur https://github.com/marketplace?type=models. Vos considérations peuvent inclure :

  •         **Gouvernance et sécurité :** Examinez la conformité de chaque modèle aux normes et réglementations telles que RGPD, SOC 2 et ISO 27001, et vérifiez que les données ne sont pas conservées en dehors de votre organisation, sauf si elles sont enregistrées explicitement avec le consentement.
    
  •         **Performances du modèle :** exécuter des évaluations de benchmark sur vos jeux de données internes pour évaluer le raisonnement, la rétention du contexte et les taux d’hallucination.
    
  •         **Contrôle et visibilité de l’API :** Exiger des contrôles précis sur les quotas d’utilisation, l’inspection rapide et les limites de débit au niveau de l’équipe ou de l’organisation.
    
  •         **Optimisation des coûts :** Inclure la tarification des jetons, la vitesse d’inférence et la disponibilité des variantes de modèle pour une utilisation hiérarchisé. Par exemple, vous pouvez utiliser des modèles moins chers pour la génération de cas de test par rapport aux modèles avancés pour les discussions sur l’architecture.
    

Une fois que vous avez choisi les modèles que vous souhaitez utiliser, vous pouvez limiter l'accès au sein de votre organisation à ces modèles uniquement, consultez Gestion de l’utilisation du modèle de votre équipe.

Optimiser et partager des incitations au sein des équipes

Vos développeurs peuvent utiliser l’éditeur d’invite dans GitHub Models pour créer et affiner des invites. Les équipes peuvent expérimenter différentes variantes de messages et modèles dans un environnement stable et non production qui s’intègre aux flux de travail de développement de GitHub. L’interface visuelle permet aux parties prenantes non techniques de contribuer aux côtés des développeurs. Consultez Utilisation de l’éditeur d’invite.

Les outils d’évaluation légers permettent à votre équipe de comparer les résultats entre les métriques courantes telles que la latence, la pertinence et l’importance, ou vous pouvez créer des évaluateurs personnalisés. Comparez les performances des requêtes et des modèles pour vos cas d’usage spécifiques d’IA générative, tels que la création de code, de tests, de documentation ou de suggestions de revue de code.

Lorsque votre équipe crée des invites efficaces, elle peut les enregistrer sous forme de fichiers YAML et les partager pour révision à l’aide de requêtes de tirage GitHub. Les requêtes validées dans le référentiel sont accessibles aux autres équipes et aux flux de travail et peuvent être maintenues conformes aux standards de votre entreprise. Cette approche centralisée et collaborative pour accélérer la gestion accélère le développement et peut vous aider à appliquer les meilleures pratiques au sein de votre organisation.

Évaluer et optimiser les coûts d’utilisation du modèle

À mesure que l’adoption de votre application basée sur l’IA augmente et que les modèles IA s’améliorent, utilisez GitHub Models pour évaluer le coût et les performances des différents modèles et mises à jour des modèles. Sélectionnez les options les plus rentables pour les besoins de votre organisation et gérez les dépenses à mesure que l’utilisation est mise à l’échelle dans plusieurs équipes.

Utilisez l’API REST de GitHub Models ou des extensions pour une gestion programmatique.

Pour une gestion plus efficace des ressources au sein de toutes les équipes, vous pouvez utiliser le REST API GitHub Models pour :

  •         **Gérez et mettez à jour les paramètres de l’organisation :** Mettez à jour de manière programmatique les autorisations d'accès au modèle et les paramètres de gouvernance à travers plusieurs équipes simultanément, pour garantir la cohérence et la conformité.
    
  •         **Lister et récupérer des invites :** lister, récupérer et auditer les invites utilisées par différentes équipes, pour surveiller l’utilisation, partager des invites réussies et gérer un référentiel central de bonnes pratiques.
    
  •         **Exécuter des demandes d’inférence de modèle :** exécuter des demandes d’inférence pour des modèles et des paramètres spécifiques, tels que la pénalité de fréquence, le nombre maximal de jetons, le format de réponse et la pénalité de présence.
    

Vous pouvez également utiliser ces extensions pour exécuter des requêtes d’inférence et gérer les invites :

  • Extension GitHub Models pour GitHub CLI
  • Extension GitHub Models pour GitHub Copilot Chat
  • GitHub Models VS Code extension

Surveiller, itérer et intégrer

Avec les fonctionnalités de gouvernance intégrées, vous pouvez surveiller l’utilisation du modèle et garantir la conformité continue avec les stratégies d’entreprise. Les journaux d’audit fournissent une visibilité sur qui a accédé ou modifié les modèles et les instructions. L’intégration du référentiel GitHub Models permet à toutes les parties prenantes de collaborer et d’effectuer une itération continue sur des applications basées sur l’IA.

Exemple : Utilisez GitHub Models avec GitHub Actions pour résumer les problèmes

Les grands projets de développement logiciel contiennent souvent des problèmes riches en détails techniques. Vous pouvez déployer des résumés de problèmes basés sur l’IA à l’aide de GitHub Models et de GitHub Actions.

          **Prérequis :** activer GitHub Models dans votre organisation, et définir les modèles et les éditeurs que vous souhaitez mettre à la disposition des référentiels individuels.

1. Créer une invite dans un référentiel

Dans l’onglet « Modèles » d’un référentiel, créez une invite à l’aide de l’éditeur d’invite.

Exemple d’invite système :

Vous êtes un récapitulateur des problèmes GitHub. Mettez en évidence les points techniques clés ou les questions importantes.

Exemple d’invite d’utilisateur :

Résumer ce problème - {{input}}

  1.        **Exécutez et optimisez votre requête**
    

    Exécutez votre requête. Fournissez un exemple de contenu de problème dans le volet « Variables » comme valeur de {{input}}.

    Essayez différents modèles (par exemple, OpenAI GPT-4o) et comparez les résultats. Ajustez les paramètres tels que le maximum de jetons et la température. Itérer jusqu’à ce que vous soyez satisfait des résultats.

  2.        **Éventuellement, exécutez des tests plus étendus**
    

    La vue « Comparer » vous permet d’exécuter votre requête plusieurs fois avec différents modèles simultanément et de comparer les résultats dans une vue en grille. Vous pouvez également définir et utiliser des évaluateurs pour vous assurer que les résultats contiennent certains mots clés ou répondent à d’autres normes.

  3.        **Valider votre invite**
    

    Donnez un nom à votre requête et validez les modifications afin de passer par le flux de pull request. Par exemple, si vous nommez votre invite summarize, vous obtenez un fichier summarize.prompt.yaml au niveau racine de votre référentiel qui ressemble à ceci :

    messages:
      - role: system
        content: >-
          You are a summarizer of GitHub issues. Emphasize key technical points or
          important questions.
      - role: user
        content: 'Summarize this issue, please - {{input}}'
    model: openai/gpt-4o
    modelParameters:
      max_tokens: 4096
    

    Une fois votre pull request examinée et fusionnée, votre requête sera disponible pour toute personne utilisant le référentiel.

  4.        **Appeler votre prompt dans un flux de travail**
    

    Pour plus d’informations sur la création de flux de travail, consultez Écriture de workflows.

    Vous devez définir l’autorisation models: read pour permettre à une requête d’être appelée dans un workflow.

    Voici un exemple de flux de travail qui ajoute un résumé généré par l’IA en tant que commentaire sur tout problème nouvellement créé :

    YAML
    name: Summarize New Issue
    
    on:
      issues:
        types: [opened]
    
    permissions:
      issues: write
      contents: read
      models: read
    
    jobs:
      summarize_issue:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v5
    
          - name: Install gh-models extension
            run: gh extension install https://github.com/github/gh-models
            env:
              GH_TOKEN: ${{ github.token }}
    
          - name: Create issue body file
            run: |
              cat > issue_body.txt << 'EOT'
              ${{ github.event.issue.body }}
              EOT
    
          - name: Summarize new issue
            run: |
              cat issue_body.txt | gh models run --file summarize.prompt.yml > summary.txt
            env:
              GH_TOKEN: ${{ github.token }}
    
          - name: Update issue with summary
            run: |
              SUMMARY=$(cat summary.txt)
              gh issue comment ${{ github.event.issue.number }} --body "### Issue Summary
              ${SUMMARY}"
            env:
              GH_TOKEN: ${{ github.token }}
    
  5.        **Surveiller et itérer**
    

    Vous pouvez surveiller les performances de l’action et itérer sur la requête et le choix du modèle à l’aide de l’éditeur de requêtes de GitHub Models. Vous pouvez également utiliser l’extension CLI pour tester localement, ou utiliser GitHub Models API REST pour mettre à jour de manière programmée les paramètres du modèle et de l'invite.

    Vous pouvez également envisager d’enregistrer la réponse du modèle en tant que fichier dans votre référentiel afin de pouvoir passer en revue et itérer les performances du modèle au fil du temps. Cela vous permet d’améliorer en permanence la qualité des résumés et de s’assurer qu’ils répondent aux besoins de votre équipe.