Ce référentiel est un espace réservé, utilisé pour évaluer le niveau d'intérêt des utilisateurs de Xcode pour une extension TabNine.
Il s'agit du client Xcode TabNine, une saisie semi-automatique avancée basée sur l'IA pour tous les langages de programmation. TabNine indexe l'intégralité de votre projet en lisant votre .gitignore
ou autre, et détermine les fichiers à indexer.
TabNine fait partie de Codota
Deep TabNine est formé sur environ 2 millions de fichiers de GitHub. Pendant l'entraînement, l'objectif de TabNine est de prédire le prochain jeton en fonction des jetons précédents. Pour atteindre cet objectif, TabNine apprend des comportements complexes, tels que l'inférence de type dans les langages typés dynamiquement.
Deep TabNine peut utiliser des indices subtils difficiles d’accès pour les outils traditionnels. Par exemple,
le type de retour de app.get_user()
est supposé être un objet avec des méthodes setter, tandis que le type de retour de app.get_users()
est supposé être une liste.
Deep TabNine est basé sur GPT-2, qui utilise l'architecture réseau Transformer. Cette architecture a d'abord été développée pour résoudre des problèmes de traitement du langage naturel. Bien que la modélisation du code et la modélisation du langage naturel puissent sembler être des tâches sans rapport, la modélisation du code nécessite une compréhension de l'anglais de manière inattendue.
TabNine nécessite une consommation de ressources mémoire lorsqu'il est exécuté localement sur votre ordinateur. Cela peut entraîner une latence qui n'est pas optimale pour tous les PC. Dans cette optique, TabNine a développé une solution Cloud, appelée TabNine Deep Cloud.
Nous comprenons que les utilisateurs soucieux de leur vie privée préfèrent conserver leur code sur leur propre machine. Soyez assuré que nous prenons les mesures suivantes pour répondre à ce problème : Pour les développeurs individuels, nous travaillons sur un modèle de taille réduite pouvant fonctionner sur un ordinateur portable avec une latence raisonnable. Mise à jour : nous avons publié TabNine Local. Pour les utilisateurs professionnels, nous déploierons bientôt la possibilité d’obtenir une licence pour le modèle et de l’exécuter sur votre propre matériel. Nous pouvons également former pour vous un modèle personnalisé qui comprend les modèles et le style uniques de votre base de code. Si cela peut être pertinent pour vous ou votre équipe, nous serions ravis d'en savoir plus sur votre cas d'utilisation à [email protected]. L'activation de TabNine Deep Cloud envoie de petites parties de votre code à nos serveurs pour fournir des complétions accélérées par GPU. En dehors du but de répondre à votre requête, vos données ne sont en aucun cas utilisées, enregistrées ou enregistrées.
Vous pouvez activer TabNine Deep Cloud gratuitement en vous inscrivant à TabNine Professional
Vous pouvez en savoir plus sur l'achèvement approfondi
TabNine fonctionne pour tous les langages de programmation. TabNine ne nécessite aucune configuration pour fonctionner. TabNine ne nécessite aucun logiciel externe (bien qu'il puisse s'y intégrer). Étant donné que TabNine n'analyse pas votre code, il ne cessera jamais de fonctionner à cause d'un support incompatible.
Par défaut, TabNine effectue des requêtes Web uniquement dans le but de télécharger des mises à jour et de valider les clés d'enregistrement. Dans ce cas, votre code n'est envoyé nulle part, même aux serveurs TabNine. Vous pouvez opter pour TabNine Deep Cloud, qui vous permet d'utiliser les serveurs de TabNine pour des réalisations accélérées par GPU et alimentées par un modèle d'apprentissage en profondeur. Si l'envoi de code vers un service cloud n'est pas possible, nous proposons également une option auto-hébergée. Contactez-nous à [email protected].
Une note sur les licences : ce dépôt comprend le code source ainsi que les binaires TabNine packagés. La licence MIT s'applique uniquement au code source, pas aux binaires. Les binaires sont couverts par le contrat de licence utilisateur final de TabNine.