Tabby
Tabby, outil intelligent axé sur la programmation par IA
Étiquettes :Outils de programmation IAQu’est-ce que Tabby ?
Tabby est un assistant de programmation IA open source et auto-hébergé développé par TabbyML, qui peut servir de solution privée aux outils cloud tels que GitHub Copilot. Les équipes peuvent exécuter les modèles et les services sur des serveurs locaux, dans un cloud privé ou sur leur propre infrastructure.
Ce n’est pas un modèle de langage grand unique, mais plutôt un système complet comprenant des services de modèles, un contexte de code, un panneau de gestion, des API et des extensions d’éditeur. Les résultats réels dépendent du modèle de complétion, du modèle de chat, du modèle d’incorporation choisis, ainsi que de la configuration du matériel et du dépôt de code.
Fonction principale
- Fournir une complétion de code en plusieurs lignes en temps réel dans l’éditeur.
- Répondre aux questions de développement concernant le dépôt de code et fournir le contexte pertinent.
- Expliquer, modifier et générer du code via la messagerie intégrée.
- Rechercher les dépôts dans le navigateur de code et visualiser les relations de symboles.
- Connecter les dépôts Git, la documentation de développement et d’autres sources de contexte.
- Configurer séparément les modèles de complétion, de chat et d’incorporation.
- Prend en charge les modèles locaux ainsi que diverses interfaces de modèles compatibles avec OpenAI.
- Fournir à l’équipe une gestion des utilisateurs, des accès et de l’utilisation.
- Se connecter à une IDE cloud ou à une plateforme de développement interne via OpenAPI.
- Déploiement possible avec Docker, des exécutables Linux et diverses plateformes cloud.
- Connecter VS Code, JetBrains, Vim et d’autres éditeurs.
Composants clés
| Composant | Principales responsabilités | Emplacement de déploiement |
|---|---|---|
| Tabby Server | Modèle de gestion, index, API et interface de gestion | Serveur local ou infrastructure cloud |
| Compléter le modèle | Prédire le prochain segment de code avec un faible délai | Généralement une GPU locale ou le serveur Tabby |
| Modèle de chat | Questions-réponses sur le code, explications et dialogue en ligne de code | Modèle local ou API externe compatible |
| Modèle intégré | Créer un index sémantique pour le code et la documentation | Serveur Tabby |
| Fournisseur de contexte | Importer des entrepôts, des documents et des connaissances externes | Configuré par l’administrateur |
| Extension IDE | Récupérer le contexte d’édition et afficher les complétions et le dialogue | Ordinateur du développeur |
| Back-office de gestion | Utilisateurs, licences, intégration et gestion de la consommation | Interface Web Tabby |
Complétion de code
Tabby génère des suggestions en temps réel en fonction du fichier actuel, du code situé à proximité du curseur et du contexte du projet. L’éditeur met l’accent sur une complétion en flux à faible latence et des requêtes annulables, tout en optimisant le contexte des suggestions grâce au cache et aux étiquettes de code Tree-sitter.
- Compléter une ligne de code ou plusieurs lignes consécutives.
- Corps de fonction de prédiction, branches conditionnelles et schémas de répétition.
- Suivez le style de nommage et d’encodage du fichier actuel.
- Continuer à mettre à jour les suggestions tant que le développeur les accepte ou les refuse.
- Utilisé dans le flux de travail d’édition existant via un plugin IDE.
- Permettre à l’administrateur de choisir un modèle de complétion de code dédié.
Suggestions d’optimisation de la qualité complémentaires
- Choisissez le modèle Fill-in-the-Middle qui prend en charge le langage de programmation cible.
- Assurer en priorité une faible latence, puis augmenter la taille des paramètres du modèle.
- Faites en sorte que les noms de fichiers, les noms de fonctions et les commentaires expriment clairement l’intention.
- Réduire les fonctions trop volumineuses pour éviter que le contexte ne soit envahi par du code non pertinent.
- Tester séparément le taux d’acceptation des langages et frameworks couramment utilisés.
- Intégrer la génération de code dans les processus de formatage, de vérification statique et de test.
Answer Engine et QCM de code
Answer Engine permet aux développeurs de poser directement des questions sur la structure, la mise en œuvre et l’utilisation d’un dépôt de code. Le système lit les fichiers ou sources contextuelles correspondantes pour générer des réponses accompagnées de références, réduisant ainsi le besoin de passer d’un dépôt, de documents à des tickets de support.
- Expliquer les responsabilités d’un module ou d’une fonction.
- Trouver l’emplacement de la mise en appel de l’interface et ses dépendances.
- Générer une nouvelle migration de base de données à partir des fichiers de migration existants.
- Résumer les frameworks et conventions utilisés dans le dépôt de code.
- Répondre aux questions de configuration en s’appuyant sur la documentation de développement.
- Fournir aux nouveaux membres une navigation dans le code et une aide pour s’y retrouver.
Chat en interne
La conversation en temps réel place les instructions en langage naturel et le code actuellement sélectionné à la même position d’édition. Elle convient pour expliquer, restructurer, générer des tests ou ajouter des commentaires, mais toutes les modifications doivent d’abord faire l’objet d’une vérification des différences avant d’être acceptées.
- Expliquez la logique et les conditions limites du code sélectionné.
- Restructurer du code répétitif ou améliorer la lisibilité.
- Générer des tests unitaires et des données de test.
- Changer de langue, de framework ou de méthode d’appel API.
- Ajouter des chaînes de documentation, des types et un traitement des erreurs.
- Modifier le code local conformément aux spécifications du projet.
Fournisseur de contexte
Le fournisseur de contexte sert à intégrer les dépôts de code, la documentation de développement et les autres connaissances d’équipe dans Tabby. Le contexte récupéré améliore la pertinence des questions-réponses sur le code, mais il élargit également l’éventail des droits et des index à gérer.
- Importer depuis un dépôt GitHub, GitLab ou Git standard.
- Récupérer la documentation pour les développeurs et les documents techniques internes.
- Créer des contextes indépendants pour différents projets.
- Faire en sorte que les réponses citent du code et des documents plutôt que de dépendre uniquement de la mémoire du modèle.
- Contrôler les entrepôts visibles en fonction des permissions de l’équipe.
- Mettre à jour régulièrement en synchronisation et supprimer les données obsolètes.
Liste de sécurité contextuelle
- Ne pas indexer les clés, les certificats, les configurations de production et les données des clients.
- Définir des droits de lecture minimaux pour le entrepôt.
- Vérifier que les différentes équipes ne peuvent pas accéder aux projets privés des autres.
- Retirer l’accès immédiatement après le départ du personnel ou la fin du projet.
- Ré-synchroniser régulièrement et supprimer les contenus sensibles historiques.
- Définir une liste blanche de noms de domaine pour le scraping des documents externes.
Éditeurs pris en charge
Le site officiel liste VS Code, Neovim, IntelliJ IDEA, Eclipse, Android Studio ainsi que plusieurs IDE JetBrains. Le niveau de maturité des fonctionnalités des différents plugins et les exigences de version peuvent varier ; il convient de consulter la documentation correspondante avant l’installation.
| Catégorie d’éditeur | Exemple de soutien public | Compétences courantes |
|---|---|---|
| Visual Studio Code | VS Code et éditeurs compatibles | Compléter, chatter et contexte de code |
| JetBrains | IntelliJ, PyCharm, WebStorm, GoLand, CLion, Rider, etc. | Compléter l’intégration avec l’IDE |
| Écosystème Vim | Vim et Neovim | Complétion de code et appel rapide |
| Écosystème Eclipse | Eclipse | Aide au code dans l’éditeur |
| Développement mobile | Android Studio et AppCode | Aide au code de projet mobile |
Sélection des modèles et du matériel
Tabby configure séparément les modèles de complétion, de chat et d’incorporation. Le modèle de complétion a les exigences de latence les plus élevées, le modèle de chat accorde plus d’importance à l’inference et à la qualité du contexte, tandis que le modèle d’incorporation est chargé de la recherche de code et de documents.
| Type de modèle | effet | Conseils de configuration officiels |
|---|---|---|
| Compléter le modèle | Complétion de code en temps réel et complétion FIM | De 1B à 3B, on peut commencer au niveau T4 ou Apple M1 |
| Modèle de chat | Questions-réponses, explications et dialogues sectoriels | Il est recommandé d’utiliser au moins 1 milliard de paramètres, et de choisir des modèles plus grands en fonction de la qualité. |
| Modèle intégré | Créer des index sémantiques pour le code et la documentation | Modèle d’incorporation de code Nomic ou Jina optionnel |
Le catalogue officiel des modèles recommande d’utiliser des GPU V100, A100 ou des modèles de la série 30/40 plus récents pour les modèles de 7B à 13B. La mémoire vidéo requise dépend également de la quantification, de la longueur du contexte, du nombre de tâches en parallèle et de l’architecture du modèle ; il convient de réaliser des tests de charge sur un projet réel avant le déploiement.
Tutoriel de déploiement Docker
- Préparer le serveur Linux, Docker et le disque persistant.
- Installez les pilotes et le paquet d’outils de conteneur lorsque des GPU NVIDIA sont nécessaires.
- Sélectionnez les modèles de complétion, de chat et d’incorporation dans le catalogue officiel des modèles.
- Créer un répertoire de données indépendant et définir les droits d’accès appropriés.
- Démarrer le Tabby Server en utilisant l’image de conteneur officielle.
- Mapper les ports de service et les volumes de données, et spécifier le dispositif d’exécution.
- Accéder à l’interface de gestion des accès pour créer des configurations d’administrateur et d’accès sécurisé.
- Installez le plugin IDE et saisissez l’adresse du serveur ainsi que le token.
- Valider les résultats de complétion, de chat et d’indexation à l’aide du dépôt de test.
- Configurer le proxy inversé, TLS, les sauvegardes, les journaux et la surveillance.
Vérification du déploiement en production
- Ne mettez pas en évidence directement le port de gestion non chiffré sur Internet.
- Utiliser TLS, des mots de passe solides et des points d’accès réseau contrôlés.
- Placer le cache du modèle, les index et la base de données dans un stockage persistant.
- Restreindre les permissions du conteneur et scanner les images ainsi que leurs dépendances pour détecter les vulnérabilités.
- Enregistrer la mémoire vidéo GPU, le délai de demande et le taux d’erreurs.
- Faites une sauvegarde et testez la migration de la base de données avant la mise à niveau.
- Préparer des plans de rollback en cas de panne et de capacité insuffisante.
Installation indépendante de Linux
En plus de Docker, une version exécutable indépendante pour Linux est également fournie, comprenant des builds pour CPU, CUDA et Vulkan. La mise en œuvre de CUDA exige généralement CUDA 11 ou une version ultérieure, tandis que les GPU non NVIDIA peuvent faire l’objet d’une évaluation pour la version Vulkan.
- Sélectionnez le paquet Linux compressé correspondant au matériel dans la version officielle.
- Pour l’environnement CPU, choisissez la configuration CPU ; pour l’environnement NVIDIA, choisissez la configuration CUDA correspondante.
- Vérifiez les exigences de compilation et de pilote Vulkan si d’autres GPU sont nécessaires.
- Décompressez le fichier et ajoutez les droits d’exécution pour Tabby et le serveur de modèles.
- Spécifier le modèle de complétion, le modèle de chat, les ports et le service de démarrage du dispositif.
- Vérifiez les journaux et accédez à la page de gestion depuis l’ordinateur local.
- Ouvrez l’accès à l’équipe une fois l’authentification, les configurations réseau et de persistance terminées.
API du modèle externe
Tabby peut se connecter à certains services de modèles de chat externes via une interface compatible avec OpenAI, mais le complétion de code ne peut pas nécessairement reprendre la même interface. Par exemple, selon les instructions officielles, l’API compatible des Hugging Face Inference Providers ne fournit pas de modèle de complétion FIM, ce qui signifie que la complétion nécessite toujours un modèle local.
- Vérifier quel type d’interface le fournisseur de services prend en charge : chat, complétion ou intégration.
- Ne supposez pas que la compatibilité avec OpenAI signifie que toutes les fonctionnalités de Tabby sont prises en charge.
- Conserver la clé API dans les paramètres de configuration sécurisés du serveur.
- Évaluer si le code sera envoyé dans une zone tierce.
- Définir le budget, les limites de vitesse et les stratégies de fallback en cas d’échec.
- Vérifier les politiques de conservation des données et d’entraînement du fournisseur du modèle.
Gestion d’équipe et fonctions d’entreprise
Tabby propose trois niveaux de licences : Community, Team et Enterprise. L’accès sécurisé, l’Answer Engine et l’explorateur de code constituent les fonctionnalités de base, tandis que des fonctionnalités de gouvernance telles que les rapports d’utilisation, les stratégies de télémétrie, les domaines d’authentification et le connexion unique se trouvent principalement dans les plans payants.
| Capacité | Community | Team | Enterprise |
|---|---|---|---|
| Nombre d’utilisateurs | Jusqu’à 5 personnes | Jusqu’à 50 personnes | Sans limite, selon le contrat |
| Accès sécurisé | Soutien | Soutien | Soutien |
| Answer Engine | Soutien | Soutien | Soutien |
| Navigateur de code | Soutien | Soutien | Soutien |
| Fournisseur de contexte | Soutien | Soutien | Soutien |
| Rapports et analyses de consommation | Sans | Soutien | Soutien |
| Politique de télémétrie IDE forcée | Sans | Soutien | Soutien |
| Domaine d’authentification | Sans | Soutien | Soutien |
| Connexion unique | Sans | Sans | Soutien |
| Services d’assistance | communauté | Courriel | Slack exclusif et priorité au plan stratégique |
Forfaits et prix
Au 20 août 2026, la page des prix officiels indique que Community est gratuit, Team coûte 19 dollars par utilisateur et par mois, et Enterprise nécessite de contacter le service commercial pour un tarif personnalisé annuel. En plus de la licence logicielle, il faut également prendre en compte les coûts liés aux modèles, aux GPU, au stockage, au réseau et à l’exploitation.
| Plan | Prix du logiciel | Limite de nombre de personnes | Positionnement principal |
|---|---|---|---|
| Community | 0 dollar/utilisateur/mois | Jusqu’à 5 utilisateurs | Déploiement autonome par les individus et les petites équipes |
| Team | 19 $/utilisateur/mois | Jusqu’à 50 utilisateurs | Analyse, stratégie et gestion d’équipe nécessaires |
| Enterprise | Contacter le service des ventes | Sans limite | Connexion unique, déploiement personnalisé et support exclusif |
Frais de Tabby Cloud et Pochi
La page des prix officiels présente séparément le mode de facturation à l’usage pour Tabby Cloud, et indique que Pochi est facturé en fonction du coût des tokens des grands modèles utilisés, avec un crédit gratuit de 20 dollars par mois. La fonction de complétion de texte en cloud est actuellement toujours gratuite, mais une utilisation anormalement élevée peut nécessiter une carte de crédit pour éviter tout abus.
Pochi est le produit de programmation d’agents de TabbyML ; il ne relève pas de la même tarification que la licence Tabby auto-hébergée. Lors du choix de la solution, il convient de vérifier séparément la facturation des modèles cloud, les licences d’équipe et l’infrastructure locale.
Coût réel de l’autogestion
| Poste de coût | Dépenses possibles | Mode de contrôle |
|---|---|---|
| GPU ou CPU | Achat, location et amortissement | Sélection en fonction de la concurrence et de la taille du modèle |
| API du modèle | Paiement par token ou par demande | Définir le budget et les stratégies de routage |
| Stockage | Poids du modèle, index et sauvegarde | Cycle de vie et gestion de la compression |
| Opérations et maintenance | Mise à niveau, surveillance, gestion des pannes et sécurité | Déploiement automatisé et alertes |
| Réseau | Téléchargement de modèles et trafic interrégional | Cache et accès au sein de la région |
| Licence | Abonnements Team ou Enterprise | Acheter en fonction des besoins réels des utilisateurs et de la gouvernance |
Quels scénarios d'utilisation conviennent
- Équipes qui souhaitent que le code ne soit pas envoyé par défaut vers des services d’IA publics.
- Les entreprises qui ont besoin de déployer un assistant de programmation dans un réseau privé ou un cloud privé.
- Les organisations qui disposent d’une GPU et souhaitent contrôler les coûts de modélisation et d’inférence.
- Équipes ayant besoin de relier des bases de code privées et des documents de développement internes.
- Équipe souhaitant gérer de manière unifiée l’expérience IA pour plusieurs éditeurs.
- Développeurs qui étudient les modèles de complétion de code, la recherche et l’optimisation des prompts.
- Les petites équipes de jusqu’à 5 personnes utilisent la version communautaire gratuite.
- Plateformes nécessitant une intégration OpenAPI avec un IDE cloud ou des outils internes.
Cas où l'utilisation directe n’est pas appropriée
- Utilisateurs individuels sans serveur, modèle ni capacités de maintenance.
- J’espère que l’on pourra utiliser les modèles cloud de pointe sans configuration après avoir téléchargé le plugin.
- Les équipes qui ne peuvent pas assumer les coûts de GPU, d’électricité ou d’API externes.
- Il est demandé que le code généré puisse être mis en ligne sans révision ni test.
- Besoin de SSO d’entreprise mais pas prêt à acheter une licence Enterprise.
- Tous les codes de répertoire d’entreprises doivent être des projets de redistribution sous Apache 2.0.
- Un environnement qui souhaite être entièrement hors ligne mais dépend de modèles externes et de la récupération de documents.
Avantages du produit
- Les services clés sont open source, et l’architecture de déploiement ainsi que le code sont vérifiables.
- Prend en charge le contrôle des données de code sur site, dans un réseau privé et dans le cloud privé.
- Pas de dépendance obligatoire à des bases de données externes ou à des services cloud.
- La complétion, la conversation et les modèles d’incorporation peuvent être sélectionnés séparément.
- Les GPU grand public peuvent également être déployés à partir de petits modèles.
- L’IDE, les services de modèles et la recherche dans le contexte forment une chaîne complète.
- Prend en charge les questions-réponses sur le code, la messagerie en ligne de code et un navigateur de code.
- Le fournisseur de contexte peut relier le dépôt d’équipe aux documents.
- OpenAPI facilite l’intégration avec les infrastructures de développement existantes.
- Le programme Community est adapté aux petites équipes souhaitant une version d’essai gratuite.
Restrictions d'utilisation et précautions
- L’hébergement auto-géré n’équivaut pas à zéro coût ; les dépenses liées aux GPU et à l’exploitation peuvent être élevées.
- La capacité des petits modèles à comprendre du code complexe peut être inférieure à celle des grands modèles cloud.
- Le retard de complétion est influencé par le modèle, la mémoire vidéo, la concurrence et le réseau.
- L’index du code peut contenir des clés, des informations personnelles et des secrets commerciaux.
- L’API de chat externe enverra le code correspondant à un prestataire tiers.
- La génération de code peut présenter des vulnérabilités, des dépendances erronées et des risques liés aux licences.
- Les fonctionnalités et le rythme de mise à jour des plugins d’IDE varient.
- L’équipe peut compter jusqu’à 50 utilisateurs ; au-delà, il est nécessaire d’évaluer Enterprise.
- SSO fait partie d’Enterprise et non de Community ou Team.
- Les poids des modèles possèdent leurs propres licences ; il ne faut pas se baser uniquement sur la licence du code Tabby.
- Le répertoire d’entreprises utilise une licence commerciale distincte.
- Avant la mise à niveau, il est nécessaire de vérifier la compatibilité de la configuration, des index et de la base de données.
Sécurité et gouvernance du code
- Le code généré doit faire l’objet d’une évaluation manuelle et de tests automatisés.
- Exécution de scans de vulnérabilités et de licences pour les paquets dépendants.
- Il est interdit d’ajouter des clés et des identifiants de production au contexte d’invite.
- Définir des droits minimaux pour les administrateurs, les entrepôts et les développeurs ordinaires.
- Enregistrer le modèle, la version de l’invite et la source des modifications du code.
- Désactiver les itinéraires de modèles externes non approuvés pour les entrepôts à haut risque.
- Mettre en place des processus de réponse aux suggestions erronées, aux fuites de données et aux interruptions de service.
- Auditer régulièrement la stratégie de télémétrie, la conservation des journaux et les comptes utilisateurs.
GitHub et les licences open source
Le dépôt officiel de Tabby est maintenu par TabbyML, et son contenu principal est actuellement soumis à la licence Apache License 2.0. La licence racine du dépôt indique clairement que le répertoire des fonctionnalités professionnelles utilise une licence indépendante contenue dans ce répertoire, tandis que les composants tiers restent soumis à leurs licences d’origine.
Le code du catalogue d’entreprises peut être copié et modifié à des fins de développement et de test, mais son utilisation en production nécessite une licence Tabby Enterprise valide ainsi que le nombre correct de postes. Par conséquent, Tabby doit être décrit précisément comme un produit open core, et non comme un produit dont toutes les fonctionnalités sont soumises à la même licence open source.
| Portée du code | Statut de la licence | Conseils d'utilisation |
|---|---|---|
| Code principal | Apache 2.0 | Licence de conservation, déclarations de modification et de propriété |
| Répertoire d’entreprises | Tabby Enterprise License | L'utilisation en production nécessite une abonnement entreprise valide. |
| Composants tiers | Licences d’origine respectives | Vérifier chaque dépendance et licence de modèle |
| Poids du modèle | Décidé par le fournisseur du modèle | Vérifier les conditions d'utilisation commerciale et de redistribution |
Informations de base
| champ | Contenu |
|---|---|
| Nom de l’outil | Tabby |
| Équipe de développement | TabbyML |
| Type d’outil | Assistant de programmation IA auto-hébergé |
| Capacité centrale | Complétion de code, questions-réponses sur le code, chat en ligne de code et recherche dans le contexte |
| Mode de déploiement | Docker, exécutables Linux et plateformes cloud |
| Éditeur | VS Code, JetBrains, Vim, Neovim et Eclipse, etc. |
| Modèle de prix | Community gratuit, abonnement Team et solution sur mesure Enterprise |
| Fournit-on une API ? | Oui, OpenAPI est fourni. |
| Est-ce open source | Noyau ouvert, le catalogue d’entreprises utilise une licence commerciale |
| Licence principale | Apache 2.0 |
Indice de recommandation
4,7 / 5. Tabby propose une solution entièrement auto-hébergée allant des services de modèles à la récupération de code en passant par les plugins d’IDE, idéale pour les équipes qui privilégient le contrôle des données et la personnalisation ; cependant, les limites des licences professionnelles, les coûts matériels et l’exploitation continue doivent être soigneusement évalués.
Questions fréquentes
Tabby peut-il être utilisé gratuitement ?
Oui. Le programme Community est gratuit pour un maximum de 5 utilisateurs, mais vous devez toujours assumer vous-même les coûts du serveur, de la GPU, du stockage et de l’exploitation.
Quelle est la différence entre Tabby et GitHub Copilot ?
Tabby met l’accent sur le noyau open source, l’autogestion et la configurabilité des modèles, tandis que Copilot est principalement un service cloud géré. Les deux diffèrent en termes de qualité des modèles, d’expérience de gestion et de structure des coûts.
Est-il absolument nécessaire d’avoir une GPU ?
Ce n’est pas nécessaire ; les petits modèles peuvent fonctionner sur une CPU ou Apple Silicon, mais l’expérience de complétion en temps réel dépend généralement davantage d’une GPU à faible latence. Des tests de charge doivent être effectués avant que l’équipe n’en utilise plusieurs en parallèle.
Est-il possible de se connecter à de grands modèles externes ?
Il est possible de se connecter à certaines interfaces de chat compatibles avec OpenAI, mais la compatibilité pour le complétage et l’incorporation est différente. On ne peut pas supposer qu’une API prend en charge simultanément tous les composants du modèle.
Combien coûte le plan Team ?
Au jour de la vérification, le tarif est de 19 dollars par utilisateur et par mois, pour un maximum de 50 utilisateurs. Les prix et les avantages peuvent être modifiés ; veuillez vous référer à la page officielle d’abonnement.
Tabby prend-il en charge le SSO ?
Soutenu, mais la page de prix officielle indique le connecteur unique comme une fonctionnalité Enterprise. Community et Team ne comprennent pas cette fonctionnalité.
Tabby propose-t-il une API ?
Fourni. La documentation officielle contient des références OpenAPI, pouvant être utilisées pour les IDE, les environnements de développement cloud et l’intégration avec des plateformes internes.
Tabby est-il entièrement open source ?
Tous les répertoires ne sont pas soumis à la même licence open source. Le code principal est basé sur Apache 2.0, tandis que les répertoires d’entreprise utilisent la Tabby Enterprise License.
Numéro d’enregistrement de sécurité publique du Guangxi : 45132202000164