GitHub Copilot
Connectez GitHub Copilot Chat, les agents VS Code et la CLI Copilot à Model Gate avec BYOK et un point de terminaison personnalisé compatible OpenAI.
GitHub Copilot via Model Gate
GitHub Copilot et prise en charge de Visual Studio Code Apportez votre propre clé (BYOK) modèles. Model Gate peut être utilisé comme point de terminaison personnalisé compatible OpenAI pour les flux de discussion et d'agent Copilot.
Pour VS Code, la configuration recommandée est la Point de terminaison personnalisé fournisseur avec le API de réponses. Utilisez les complétions de chat uniquement lorsqu'un modèle ou un flux de travail sélectionné nécessite spécifiquement cette famille d'API.
Valeurs requises
API key: mg_live_...
Responses endpoint: https://api.model-gate.com/v1/responses
Chat Completions endpoint: https://api.model-gate.com/v1/chat/completions
Base URL for Copilot CLI: https://api.model-gate.com/v1
Créez une clé API dédiée dans le Panneau de commande modèle Gate. Pour une intégration d'équipe ou de poste de travail, préférez une clé distincte au lieu de réutiliser une clé de production non liée afin que les limites, l'historique des demandes, la rotation et la révocation restent faciles à auditer.
Répertoriez les modèles actuellement activés avant de configurer Copilot :
curl https://api.model-gate.com/v1/models \
-H "Authorization: Bearer mg_live_..."
Utilisez un ID de modèle canonique activé ou un alias géré par l'administrateur renvoyé par ce point de terminaison.
VS Code : configuration recommandée du point de terminaison personnalisé
Les versions actuelles de VS Code exposent les modèles BYOK dans l'éditeur de modèles de langage.
1. Ouvrez la palette de commandes. 2. Courez Chat : gérer les modèles linguistiques. 3. Sélectionnez Ajouter des modèles. 4. Sélectionnez Point de terminaison personnalisé. 5. Utilisez un nom de groupe tel que Model Gate. 6. Entrez la clé API Model Gate lorsque VS Code demande les informations d'identification du fournisseur. 7. Sélectionnez Réponses comme type d'API lorsque le modèle sélectionné prend en charge l'API Responses. 8. Configurez le modèle avec le point de terminaison Model Gate explicite et enregistrez le chatLanguageModels.json. 9. Sélectionnez le modèle Model Gate dans le sélecteur de modèle Chat.
N'utilisez pas le obsolète github.copilot.chat.customOAIModels paramètre pour une nouvelle configuration. Le fournisseur de points de terminaison personnalisés actuel prend en charge les points de terminaison de type Réponses, Achèvements de conversation et Messages et constitue le chemin de configuration VS Code préféré.
Configuration des réponses recommandées
Le généré chatLanguageModels.json peut utiliser une configuration comme celle-ci :
[
{
"name": "Model Gate",
"vendor": "customendpoint",
"apiKey": "${input:modelGateApiKey}",
"apiType": "responses",
"models": [
{
"id": "gpt-5.4",
"name": "GPT-5.4 through Model Gate",
"url": "https://api.model-gate.com/v1/responses",
"toolCalling": true
}
]
}
]
Remplacer gpt-5.4 avec un modèle ou un alias Model Gate activé.
VS Code envoie normalement la clé API comme :
Authorization: Bearer mg_live_...
qui est le formulaire d'authentification correct pour l'API compatible Model Gate OpenAI.
Solution de secours pour les achèvements de chat
Si le flux de travail choisi nécessite des achèvements de chat, configurez le modèle comme :
[
{
"name": "Model Gate",
"vendor": "customendpoint",
"apiKey": "${input:modelGateApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "MODEL_ID",
"name": "MODEL_ID through Model Gate",
"url": "https://api.model-gate.com/v1/chat/completions",
"toolCalling": true
}
]
}
]
Préférez une URL de point de terminaison complète et explicite. Cela évite toute ambiguïté si VS Code modifie le comportement d'inférence du chemin d'URL.
Recommandations sur les capacités du modèle
Les flux de travail des agents Copilot nécessitent un modèle capable d’utiliser des outils. Pour une utilisation fiable des agents via Model Gate :
- choisissez un modèle avec vérifié appel d'outil/fonction soutien; - choisissez un modèle avec streaming soutien; - pour les pièces jointes d'images, utilisez un modèle avec vérifié entrée vision/image capacité et ensemble "vision": true pour ce modèle ; - utiliser un modèle de contexte étendu pour le travail des agents à l'échelle du référentiel ; GitHub recommande actuellement au moins une fenêtre contextuelle de 128 000 jetons pour les modèles personnalisés Copilot CLI ; - ne pas faire de publicité toolCalling, vision, le raisonnement, le contexte ou les limites de sortie supérieures à la capacité réelle du modèle Model Gate sélectionné ; - testez le modèle exact dans le Model Gate Playground avant de l'activer pour une grande équipe.
Si vous définissez manuellement contextWindow, maxInputTokens, ou maxOutputTokens dans VS Code, utilisez les limites du modèle sélectionné à partir du modèle authentifié /models page ou à partir de GET /v1/models; ne les devinez pas. Model Gate mappe les champs comme suit :
| Paramètre de code VS | Champ Porte modèle |
|---|---|
contextWindow | context_window (même valeur que context_length) |
maxInputTokens | max_input_tokens |
maxOutputTokens | max_output_tokens |
L'authentifié /models la page les montre comme Contexte, Entrée maximale, et Sortie maximale lorsque la valeur correspondante est connue. Pour inspecter directement l'objet API :
curl -s https://api.model-gate.com/v1/models \
-H "Authorization: Bearer mg_live_..." \
| jq '.data[] | select(.id=="MODEL_ID") | {context_window,max_input_tokens,max_output_tokens}'
Une valeur de 0 signifie que Model Gate n'a pas de valeur configurée pour cette limite. Dans ce cas, laissez le paramètre manuel VS Code correspondant non défini plutôt que d'entrer 0 ou inventer une limite.
Modèles utilitaires dans VS Code
VS Code utilise également des modèles d'arrière-plan plus petits pour des tâches telles que les titres, les résumés, les messages de validation, les suggestions de changement de nom et la détection d'intention.
Si vous utilisez Model Gate BYOK sans modèle Copilot hébergé sur GitHub, configurez :
chat.utilityModel
chat.utilitySmallModel
Choisissez un modèle Model Gate rapide et peu coûteux pour chat.utilitySmallModel. Il n'y a généralement aucun avantage à payer pour le modèle de raisonnement le plus large pour la génération de messages de validation ou d'autres travaux utilitaires légers.
Le chat.byokUtilityModelDefault Le paramètre peut également contrôler si le travail de l'utilitaire suit le modèle d'agent principal BYOK sélectionné, utilise GitHub Copilot modèles d'utilitaire ou n'a pas de modèle par défaut.
CLI copilote
GitHub Copilot CLI prend en charge les fournisseurs personnalisés compatibles OpenAI via des variables d'environnement.
Linux ou macOS
export COPILOT_PROVIDER_TYPE="openai"
export COPILOT_PROVIDER_BASE_URL="https://api.model-gate.com/v1"
export COPILOT_PROVIDER_API_KEY="mg_live_..."
export COPILOT_MODEL="MODEL_ID"
copilote ```
Windows PowerShell
$env:COPILOT_PROVIDER_TYPE = "openai"
$env:COPILOT_PROVIDER_BASE_URL = "https://api.model-gate.com/v1"
$env:COPILOT_PROVIDER_API_KEY = "mg_live_..."
$env:COPILOT_MODEL = "MODEL_ID"
copilote ```
Pour Copilot CLI, le modèle sélectionné doit prendre en charge appel d'outils et streaming. Utilisez un modèle ou un alias Model Gate activé et testez-le avant de rendre la configuration permanente.
Ne placez pas la clé API dans l'historique du shell, dans un fichier de référentiel ou dans un fichier validé. .env. Utilisez le magasin d’informations d’identification de votre système d’exploitation, votre environnement shell protégé ou les outils de gestion des secrets de votre organisation lorsque cela est possible.
Copilote Affaires et Entreprise
GitHub prend également en charge les modèles personnalisés d'organisation/entreprise via BYOK. GitHub répertorie actuellement Fournisseurs compatibles OpenAI en tant que catégorie de fournisseur de modèle personnalisé prise en charge. Cette fonctionnalité au niveau de l'organisation est gérée par la politique GitHub et peut être en préversion en fonction de la surface Copilot.
Pour une organisation gérée :
1. Activez GitHub modèles personnalisés / BYOK politique requise pour votre plan Copilot. 2. Ajoutez un fournisseur/modèle personnalisé compatible OpenAI dans les paramètres du modèle Copilot de l'organisation ou de l'entreprise. 3. Utilisez une clé API Model Gate dédiée avec les autorisations et limites Model Gate minimales nécessaires. 4. Utilisez le point de terminaison Model Gate et un ID de modèle auquel votre compte peut accéder. 5. Validez le modèle dans les workflows Copilot Chat/agent avant de l'exposer largement dans le sélecteur de modèle d'organisation.
GitHub peut modifier l'interface utilisateur du modèle personnalisé de l'organisation à mesure que la fonctionnalité évolue. Suivez l'interface utilisateur administrative actuelle de GitHub pour connaître les étiquettes de champs exactes plutôt que de vous fier aux captures d'écran d'une ancienne version.
Recommandations en matière de sécurité et de coûts
- Créez une clé Model Gate dédiée pour Copilot au lieu de partager une clé à usage général. - Appliquez une limite de RPM, une limite de simultanéité, une limite de dépenses ou une stratégie de groupe professionnel appropriée au trafic des développeurs et des agents. - Faites pivoter la clé immédiatement si elle est collée dans le contrôle de source, le chat, les journaux ou un problème. - Ne jamais s'engager mg_live_... dans chatLanguageModels.json; laissez VS Code stocker les informations d'identification ou référencer une entrée/un secret. - Gardez les approbations destructrices d'outils activées, sauf si votre environnement de développement est intentionnellement mis en bac à sable. - Le mode Agent peut générer de nombreux tours de modèle/outil à partir d'une seule instruction utilisateur. Définissez les limites de dépenses de Model Gate avant d'activer des modèles de raisonnement coûteux pour les grands référentiels. - Utilisez un modèle utilitaire plus petit pour les tâches en arrière-plan et réservez des modèles de raisonnement plus grands pour la planification, le débogage ou les refactors complexes. - Vérifiez l'historique des demandes de Model Gate lorsque vous enquêtez sur des erreurs inattendues de coût, de latence, de limite de débit ou de fournisseur.
Ce que BYOK fait et ne remplace pas
Un modèle Model Gate BYOK peut alimenter le chat VS Code, les flux de travail des agents, les outils et les tâches utilitaires lorsque le modèle prend en charge les fonctionnalités requises.
C'est le cas pas remplacer automatiquement chaque GitHub Copilot fonctionnalité. En fonction de la version actuelle de VS Code/GitHub, des fonctionnalités telles que la complétion de code en ligne standard, la recherche sémantique, les intégrations ou d'autres services hébergés sur GitHub peuvent toujours nécessiter une authentification GitHub, un plan Copilot ou une infrastructure GitHub.
Par conséquent, utilisez Model Gate BYOK lorsque votre objectif est de contrôler le chemin du modèle de chat/agent et sa facturation, et non comme l'hypothèse que tout le trafic réseau GitHub Copilot est acheminé via Model Gate.
Vérifier Model Gate avant de tester Copilot
Réponses
curl https://api.model-gate.com/v1/responses \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"input": "Reply with exactly: Model Gate OK"
}'
Achèvements des discussions
curl https://api.model-gate.com/v1/chat/completions \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Reply with exactly: Model Gate OK"}]
}'
Si ces requêtes échouent, corrigez la stratégie de clé API/modèle/Model Gate avant de déboguer Copilot.
Dépannage
| Problème | Résolution |
|---|---|
| Le modèle n'apparaît pas en mode agent | Vérifiez que le modèle est configuré avec les appels d'outils et que le modèle Model Gate réel prend en charge les appels de fonctions/outils. Redémarrez VS Code après avoir modifié la configuration du fournisseur. |
401 invalid_api_key | Entrez à nouveau ou faites pivoter la touche Model Gate dédiée. Confirmer les envois de Copilot Authorization: Bearer .... |
404 ou mauvais point de terminaison | Pour les réponses, utilisez le explicite https://api.model-gate.com/v1/responses; pour les achèvements de chat, utilisez /v1/chat/completions. |
| Le modèle n'est pas trouvé | Requête /v1/models et utilisez un identifiant canonique ou un alias activé. |
| L'agent ne peut pas utiliser les outils | Sélectionnez un modèle avec un appel d'outil/fonction vérifié. Copilot CLI nécessite également le streaming. |
| La pièce jointe de l'image est ignorée/rejetée | Utilisez un modèle avec une capacité de saisie d'image/vision vérifiée et configurez vision: true seulement pour ce modèle. |
| Les fonctionnalités de l'utilitaire ne fonctionnent pas avec la configuration BYOK uniquement | Configurer chat.utilityModel et chat.utilitySmallModel aux modèles BYOK disponibles. |
| Les complétions en ligne utilisent toujours GitHub ou nécessitent une connexion | Attendu : BYOK contrôle principalement le trafic de chat/agent/modèle utilitaire, pas toutes les fonctionnalités de Copilot. |
| Les demandes sont étonnamment coûteuses | Utilisez un modèle plus petit pour le travail des services publics, réduisez le raisonnement le cas échéant et configurez les limites de dépenses/RPM/concurrence de Model Gate. |
Références actuelles en amont
GitHub et VS Code peuvent modifier la configuration BYOK entre les versions. Pour connaître le comportement actuel en amont, vérifiez :
- https://code.visualstudio.com/docs/agent-customization/language-models - https://docs.github.com/en/copilot/concepts/models/bring-your-own-key - https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models - https://docs.github.com/en/copilot/how-tos/administer-copilot/manage-for-organization/enable-custom-models