À propos de GitHub Copilot Chat dans GitHub
GitHub Copilot Chat dans GitHub est une interface de chat qui vous permet d’interagir avec GitHub Copilot afin de poser des questions liées au code et d’obtenir des réponses au sein de GitHub.
L’interface de conversation permet d’accéder aux informations sur le codage et au support sans avoir à parcourir la documentation ni à rechercher dans des forums en ligne.
Remarque
Discussion avec Copilot est également disponible dans Visual Studio Code, Visual Studio et la suite d’IDE JetBrains. Cependant, les fonctionnalités disponibles dans ces IDE diffèrent de celles proposées sur GitHub.
Conversation GitHub Copilot peut répondre à un large éventail de questions liées au code, couvrant notamment la syntaxe, les concepts de programmation, les cas de test, le débogage, et plus encore. Conversation GitHub Copilot n’est pas conçu pour répondre à des questions qui ne sont pas liées au code ni pour fournir des informations générales sur des sujets extérieurs au code.
La langue principale prise en charge pour Copilot Chat dans GitHub est l’anglais.
Conversation GitHub Copilot fonctionne en combinant le traitement du langage naturel et le machine learning pour comprendre votre question et vous fournir une réponse. Ce processus peut être divisé en plusieurs étapes.
Traitement de l’entrée
Le prompt saisi par l’utilisateur est prétraité par le système Discussion avec Copilot, combiné à des informations contextuelles (par exemple, la date et l’heure actuelles et le nom du référentiel que l’utilisateur consulte), puis envoyée à un grand modèle de langage. L’entrée utilisateur peut prendre la forme d’extraits de code ou être exprimée en langage normal.
Le grand modèle de langage traite le prompt, collecte du contexte supplémentaire (par exemple, des données du référentiel stockées sur GitHub ou des résultats de recherche Bing) et fournit une réponse basée sur le prompt. Le système est destiné seulement à répondre à questions relatives au codage.
Analyse du modèle de langage
Le prompt prétraité est ensuite transmis au modèle linguistique Discussion avec Copilot, un réseau neuronal entraîné sur un vaste corpus de texte. Le modèle de langage analyse la demande entrée.
Génération de la réponse
Le modèle de langage génère une réponse en fonction de son analyse de la demande entrée et du contexte fourni. Le modèle de langage peut collecter du contexte supplémentaire (par exemple, des données du référentiel stockées sur GitHub ou des résultats de recherche Bing) et fournir une réponse basée sur le prompt. Cette réponse peut se présenter sous forme de code généré, de code suggéré ou d’explications du code existant.
Mise en forme de la sortie
La réponse générée par Discussion avec Copilot est formatée et présentée à l’utilisateur. Discussion avec Copilot peut utiliser la coloration syntaxique, l’indentation et d’autres fonctionnalités de mise en forme pour clarifier la réponse générée. Selon le type de question posée par l’utilisateur, des liens vers le contexte utilisé par le modèle pour générer une réponse, notamment des fichiers de code source, des problèmes, des résultats de recherche Bing ou de la documentation, peuvent également être fournis.
Discussion avec Copilot vise à vous fournir la réponse la plus pertinente à votre question. Toutefois, il peut ne fournit pas toujours la réponse que vous recherchez. Les utilisateurs de Discussion avec Copilot sont responsables de l’examen et de la validation des réponses générées par le système afin d’en garantir l’exactitude et la pertinence. De plus, dans le cadre de notre processus de développement produit, nous effectuons des opérations de red teaming pour comprendre et améliorer la sécurité de Discussion avec Copilot. Les invites d’entrée et les complétions de sortie sont exécutées via des filtres de contenu. Le système de filtrage de contenu détecte et empêche la sortie sur des catégories spécifiques de contenu, notamment du contenu dangereux, offensant ou hors sujet. Pour en savoir plus sur l’amélioration des performances de Discussion avec Copilot, veuillez consulter la section Amélioration des performances pour Discussion avec Copilot.
Cas pratiques pour Discussion avec Copilot
Discussion avec Copilot peut fournir une assistance en matière de code dans divers scénarios.
Répondre à des questions sur le codage
Vous pouvez demander à Discussion avec Copilot de vous aider ou de clarifier des problèmes de code spécifiques et recevoir des réponses en langage naturel ou sous forme d’extraits de code.
La réponse générée par Discussion avec Copilot peut utiliser le jeu de données d’entraînement du modèle, les résultats de recherche de Bing et le code dans vos référentiels pour répondre à vos questions.
Ce peut être un outil pratique pour les programmeurs, car il peut fournir des conseils et du support pour des tâches et des problématiques de codage courantes.
Explication du code et suggestions d'amélioration
Discussion avec Copilot peut vous aider à expliquer le code sélectionné en générant des descriptions en langage naturel de la fonctionnalité et de l'objectif du code. Ceci peut être utile si vous souhaitez comprendre le comportement du code ou pour des parties prenantes non techniques qui doivent comprendre le fonctionnement du code. Par exemple, si vous sélectionnez une fonction ou un bloc de code dans l'éditeur de code, Discussion avec Copilot peut générer une description en langage naturel de ce que fait le code et de la façon dont il s'intègre au système global. Ceci peut inclure des informations comme les paramètres d’entrée et de sortie de la fonction, ses dépendances et son objectif dans l’application au sens plus large.
Discussion avec Copilot peut également suggérer des améliorations potentielles au code sélectionné, comme une meilleure gestion des erreurs et des cas limites, ou des modifications du flux logique pour rendre le code plus lisible.
En générant des explications et en suggérant une documentation associée, Discussion avec Copilot peut vous aider à comprendre le code sélectionné, ce qui favorise une meilleure collaboration et un développement logiciel plus efficace. Cependant, il est important de noter que les explications et la documentation générées ne sont pas toujours exactes ou complètes. Vous devrez donc examiner et, à l'occasion, corriger la sortie de Discussion avec Copilot.
Proposition de correctifs de code
Discussion avec Copilot peut proposer un correctif pour les bug dans votre code en suggérant des extraits de code et des solutions en fonction du contexte de l'erreur ou du problème. Ceci peut être utile si vous avez du mal à identifier la cause racine d’un bogue ou si vous avez besoin d’aide sur la meilleure façon de le corriger. Par exemple, si votre code produit un message d'erreur ou un avertissement, Discussion avec Copilot peut suggérer des correctifs possibles en fonction du message d'erreur, de la syntaxe du code et du code environnant.
Discussion avec Copilot peut suggérer des modifications de variables, de structures de contrôle ou d'appels de fonctions susceptibles de résoudre le problème et générer des extraits de code pouvant être incorporés à la base de code. Cependant, il est important de noter que les correctifs suggérés peuvent ne pas toujours être optimaux ou complets : vous devez donc passer en revue et tester les suggestions.
Planification des tâches de codage
Discussion avec Copilot peut lire un problème GitHub et le résumer, répondre à son sujet ou proposer les étapes suivantes. Cela peut être utile si vous avez un problème long et complexe comportant de nombreux commentaires, et que vous voulez le comprendre rapidement ou déterminer ce qu'il faut faire ensuite.
Cependant, il est important de noter que les réponses et résumés de Discussion avec Copilot ne sont pas toujours exacts ou complets. Vous devrez donc examiner la sortie de Discussion avec Copilot pour en vérifier l'exactitude.
En savoir plus sur les versions, les discussions et les commits
Discussion avec Copilot peut vous aider à découvrir ce qui a changé dans une version spécifique, résumer les informations d'une discussion et expliquer les changements d'un commit spécifique. Cela peut être utile si, par exemple, vous découvrez un projet, que vous voulez saisir rapidement l'essentiel d'une discussion ou que vous devez travailler sur du code écrit par quelqu'un d'autre. Cependant, il est important de noter que les résumés des versions, discussions et commits par Discussion avec Copilot ne sont pas toujours exacts ou complets.
Améliorer les performances de Discussion avec Copilot
Discussion avec Copilot peut prendre en charge un large éventail d'applications pratiques comme Q&A, la génération de code, l'analyse de code et les correctifs de code, chacune avec des métriques de performance et des stratégies d'atténuation différentes. Pour améliorer les performances et traiter certaines des limites de Discussion avec Copilot, vous pouvez adopter diverses mesures. Pour plus d'informations sur les limites de Discussion avec Copilot, veuillez consulter la section Limites de Conversation GitHub Copilot.
Limitez vos demandes au sujet concerné
Discussion avec Copilot est conçu pour traiter exclusivement les requêtes liées au codage. Par conséquent, limiter la demande à des questions ou des tâches de codage peut améliorer la qualité de la sortie du modèle.
Utilisez Discussion avec Copilot comme un outil, pas comme un remplaçant
Bien que Discussion avec Copilot puisse être un outil puissant pour générer du code, il est important de l'utiliser comme un outil plutôt que comme un remplaçant de la programmation humaine. Vous devez toujours examiner et tester le code généré par Discussion avec Copilot afin de vous assurer qu'il répond à vos exigences et qu'il est exempt d'erreurs ou de problèmes de sécurité.
Utiliser des pratiques de codage sécurisé et de révision du code
Bien que Discussion avec Copilot puisse générer du code syntaxiquement correct, il n'est pas toujours sécurisé. Vous devez toujours suivre les bonnes pratiques de codage sécurisé, comme éviter les mots de passe codés en dur ou les vulnérabilités d'injection SQL, ainsi que suivre les bonnes pratiques de révision de code, afin de pallier les limites de Discussion avec Copilot.
Fournir des commentaires
Remarque
La possibilité de fournir des commentaires à GitHub concernant Résumés des pull requests Copilot dépend des paramètres de l'entreprise. Pour plus d’informations, consultez « Gestion des stratégies et des fonctionnalités de GitHub Copilot dans votre entreprise ».
Si vous rencontrez des problèmes ou des limites avec Copilot Chat dans GitHub, nous vous recommandons de fournir un feedback en cliquant sur l'icône pouce vers le bas sous chaque réponse de la conversation. Cela peut aider les développeurs à améliorer l’outil, et à résoudre les problèmes ou les limitations.
Rester informé
Discussion avec Copilot est une nouvelle technologie et est susceptible d'évoluer au fil du temps. Pour GitHub Copilot Chat dans GitHub, vous aurez toujours accès à la dernière expérience produit. Vous devez vous tenir informé de tout nouveau risque de sécurité ou de bonnes pratiques susceptibles d'émerger.
Limites de Conversation GitHub Copilot
Selon des facteurs tels que votre base de code et les données d'entrée, vous pouvez constater différents niveaux de performance lors de l'utilisation de Discussion avec Copilot. Les informations suivantes sont conçues pour vous aider à comprendre les limites du système et les concepts clés de performance tels qu'ils s'appliquent à Discussion avec Copilot.
Étendue limitée
Discussion avec Copilot a été entraîné sur un vaste corpus de code, mais a tout de même une étendue limitée et peut ne pas être en mesure de gérer des structures de code plus complexes ou des langages de programmation obscurs. Pour chaque langage, la qualité des suggestions que vous recevez peut dépendre du volume et de la diversité des données d’entraînement pour ce langage. Par exemple, JavaScript est bien représenté dans les dépôts publics et est l’un des langages les mieux pris en charge par GitHub Copilot. Les langages moins représentés dans les référentiels publics peuvent être plus difficiles à prendre en charge pour Discussion avec Copilot. De plus, Discussion avec Copilot ne peut suggérer du code qu'en fonction du contexte du code en cours d'écriture. Il peut donc ne pas être en mesure d'identifier des problèmes de conception ou d'architecture plus larges.
Biais potentiels
Les données d'entraînement de Copilot (tirées de référentiels de code existants) et le contexte recueilli par le modèle de langage (par exemple, les résultats de recherche Bing) peuvent contenir des biais et des erreurs qui peuvent être perpétués par l'outil. De plus, Discussion avec Copilot peut être biaisé en faveur de certains langages de programmation ou styles de codage, ce qui peut conduire à des suggestions de code sous-optimales ou incomplètes.
Risques liés à la sécurité
Discussion avec Copilot génère du code en fonction du contexte du code en cours d'écriture, ce qui peut potentiellement exposer des informations sensibles ou des vulnérabilités si l'outil n'est pas utilisé avec prudence. Vous devez faire preuve de prudence lorsque vous utilisez Discussion avec Copilot pour générer du code pour des applications sensibles sur le plan de la sécurité et toujours examiner et tester le code généré de manière approfondie.
Correspondances avec du code public
Discussion avec Copilot est capable de générer du nouveau code, ce qu'il fait de façon probabiliste. Bien que la probabilité qu'il produise du code correspondant au code présent dans l'ensemble d'entraînement soit faible, une suggestion de Discussion avec Copilot peut contenir des extraits de code correspondant au code de l'ensemble d'entraînement.
Si vous avez désactivé les suggestions correspondant au code public, Discussion avec Copilot utilise des filtres qui l'empêchent d'afficher du code correspondant à du code trouvé dans les référentiels publics sur GitHub. Cependant, vous devez toujours prendre les mêmes précautions que pour tout code que vous écrivez et qui utilise du contenu que vous n'avez pas créé de manière indépendante, y compris des précautions visant à vous assurer de sa pertinence. Ceci inclut des tests rigoureux, l’analyse des adresses IP et la recherche des vulnérabilités de sécurité.
Si vous avez activé les suggestions correspondant au code public, Discussion avec Copilot affiche un message si du code correspondant est trouvé. Le message inclut des liens vers des référentiels sur GitHub qui contiennent du code correspondant, ainsi que les détails de licence qui ont été trouvés. Pour plus d’informations, consultez « Recherche de code public correspondant aux suggestions de GitHub Copilot ».
Code erroné
L'une des limites de Discussion avec Copilot est qu'il peut générer du code qui semble valide, mais qui peut ne pas être réellement correct sur le plan sémantique ou syntaxique ou ne pas refléter fidèlement l'intention du développeur. Pour atténuer le risque d’avoir du code erroné, vous devez réviser et tester soigneusement le code généré, en particulier quand vous travaillez sur des applications critiques ou sensibles. Vous devez aussi vérifier que le code généré respecte les bonnes pratiques et les modèles de conception, et qu’il s’intègre dans l’architecture globale et le style du codebase.
Réponses erronées sur des sujets autres que le codage
Discussion avec Copilot n'est pas conçu pour répondre à des questions ne relevant pas du codage. Ses réponses peuvent donc ne pas être exactes ou utiles dans ces contextes. Si un utilisateur pose à Discussion avec Copilot une question qui ne relève pas du codage, il peut générer une réponse non pertinente ou dénuée de sens, ou simplement indiquer qu'il ne peut pas fournir de réponse utile.
Exploiter une recherche web pour répondre à une question
Selon la question que vous posez, Conversation GitHub Copilot peut éventuellement utiliser une recherche Bing pour vous aider à y répondre. Copilot utilisera Bing pour les requêtes concernant des événements récents, de nouvelles tendances ou technologies, des sujets très spécifiques ou lorsqu'une recherche web est explicitement demandée par l'utilisateur. Votre administrateur GitHub Enterprise peut activer Bing pour l'ensemble de votre entreprise ou déléguer cette décision à l'administrateur de l'organisation. Pour plus d’informations, consultez « Gestion des stratégies et des fonctionnalités de GitHub Copilot dans votre entreprise ».
Lorsqu'il exploite Bing, Copilot utilise le contenu de votre prompt, ainsi que du contexte supplémentaire disponible, pour générer en votre nom une requête de recherche Bing envoyée à l'API Bing Search. Copilot fournit un lien vers les résultats de la recherche avec sa réponse. La requête de recherche envoyée à Bing est régie par la Déclaration de confidentialité de Microsoft.
Utilisation de Bring Your Own Key (BYOK) avec GitHub Copilot
Lorsque vous utilisez Bring Your Own Key avec Conversation GitHub Copilot, vous pouvez connecter l’expérience de conversation à des modèles de langage volumineux provenant de fournisseurs pris en charge au-delà du modèle par défaut Copilot. Parmi les fournisseurs pris en charge, citons Anthropic, AWS Bedrock, Google AI Studio, Microsoft Foundry, OpenAI, openAI-compatible providers et xAI. Vous ajoutez votre clé API pour le fournisseur choisi directement dans vos paramètres Copilot.
Lorsque BYOK est actif :
-
**Étendue des fonctionnalités** : votre modèle choisi est utilisé dans Conversation GitHub Copilot. En mode Agent, BYOK alimente la conversation principale, mais certaines actions, telles que l'application de code ou d'autres appels d'outils, peuvent toujours utiliser des modèles hébergés par GitHub, optimisés pour ces tâches. Ces modèles intégrés ne s’exécutent pas via votre fournisseur BYOK. -
**Processus de sécurité** : quel que soit le fournisseur actif, les réponses passent toujours par traite temporairement ces données pour le filtrage de sécurité, mais ne conserve pas le contenu de conversation BYOK au-delà de la durée de session. -
**Vos responsabilités** : vous êtes responsable des éléments suivants :- Sécurité de la clé API du fournisseur
- Coûts ou quotas d’utilisation
- Validation de sortie
- Évaluer si votre modèle choisi répond à vos exigences de sécurité et de qualité
- Conformité avec les conditions de votre fournisseur sélectionné
- Déterminer si votre modèle choisi est conforme aux lois applicables
- S'assurer qu'une personne examine tout résultat avant de prendre des décisions qui affectent les gens
-
**Restrictions d’exportation** : certains modèles IA peuvent être soumis à des contrôles d’exportation. Vérifiez que votre fournisseur et votre modèle sélectionnés sont autorisés à être utilisés dans votre juridiction.
BYOK permet à votre organisation de choisir le modèle linguistique qui correspond le mieux à vos besoins tout en bénéficiant de l'infrastructure de sécurité de GitHub. Notez que les caractéristiques de performances et de sécurité du modèle dépendent du fournisseur.
Étapes suivantes
Pour plus de détails sur l'utilisation de GitHub Copilot Chat dans GitHub, voir :
-
[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-chat/copilot-chat-in-github/using-github-copilot-chat-in-githubcom) dans la documentation GitHub Enterprise Cloud
Pour aller plus loin
-
[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-copilot-pre-release-terms) -
[Centre de gestion de la confidentialité de GitHub Copilot](https://copilot.github.trust.page/)