Dieses Repository ist ein Platzhalter, der verwendet wird, um den Grad des Interesses von Xcode-Benutzern an einer TabNine-Erweiterung zu messen.
Dies ist der Xcode TabNine-Client, eine erweiterte KI-basierte automatische Vervollständigung für alle Programmiersprachen. TabNine indiziert Ihr gesamtes Projekt, indem es Ihre .gitignore
oder andere liest, und bestimmt, welche Dateien indiziert werden sollen.
TabNine ist Teil von Codota
Deep TabNine wird auf rund 2 Millionen Dateien von GitHub trainiert. Während des Trainings besteht das Ziel von TabNine darin, den nächsten Token anhand der zuvor vorhandenen Token vorherzusagen. Um dieses Ziel zu erreichen, lernt TabNine komplexes Verhalten, wie z. B. Typinferenz in dynamisch typisierten Sprachen.
Deep TabNine kann subtile Hinweise verwenden, auf die herkömmliche Tools nur schwer zugreifen können. Zum Beispiel,
Der Rückgabetyp von app.get_user()
wird als Objekt mit Setter-Methoden angenommen, während der Rückgabetyp von app.get_users()
als Liste angenommen wird.
Deep TabNine basiert auf GPT-2, das die Transformer-Netzwerkarchitektur nutzt. Diese Architektur wurde ursprünglich entwickelt, um Probleme bei der Verarbeitung natürlicher Sprache zu lösen. Obwohl die Modellierung von Code und die Modellierung natürlicher Sprache scheinbar voneinander unabhängige Aufgaben sind, erfordert die Modellierung von Code auf unerwartete Weise Englischkenntnisse.
TabNine erfordert den Verbrauch von Speicherressourcen, wenn es lokal auf Ihrem Computer ausgeführt wird. Es kann zu einer Latenz kommen, die nicht für alle PCs optimal ist. Vor diesem Hintergrund hat TabNine eine Cloud-Lösung namens TabNine Deep Cloud entwickelt.
Wir verstehen, dass Benutzer, denen ihre Privatsphäre am Herzen liegt, ihren Code lieber auf ihrem eigenen Computer behalten möchten. Seien Sie versichert, dass wir die folgenden Schritte unternehmen, um dieses Problem auszuräumen: Für einzelne Entwickler arbeiten wir an einem Modell mit reduzierter Größe, das mit angemessener Latenz auf einem Laptop ausgeführt werden kann. Update: Wir haben TabNine Local veröffentlicht. Für Unternehmensanwender werden wir in Kürze die Möglichkeit einführen, das Modell zu lizenzieren und auf Ihrer eigenen Hardware auszuführen. Wir können für Sie auch ein benutzerdefiniertes Modell trainieren, das die einzigartigen Muster und Stile in Ihrer Codebasis versteht. Wenn dies für Sie oder Ihr Team relevant sein könnte, würden wir gerne mehr über Ihren Anwendungsfall unter [email protected] erfahren. Durch die Aktivierung von TabNine Deep Cloud werden kleine Teile Ihres Codes an unsere Server gesendet, um GPU-beschleunigte Vervollständigungen bereitzustellen. Eine Nutzung, Speicherung oder Protokollierung Ihrer Daten über den Zweck der Bearbeitung Ihrer Anfrage hinaus erfolgt nicht.
Sie können TabNine Deep Cloud kostenlos aktivieren, indem Sie sich bei TabNine Professional anmelden
Erfahren Sie mehr über Deep Completion
TabNine funktioniert für alle Programmiersprachen. TabNine erfordert keine Konfiguration, um zu funktionieren. Für TabNine ist keine externe Software erforderlich (obwohl eine Integration möglich ist). Da TabNine Ihren Code nicht analysiert, wird er aufgrund einer nicht übereinstimmenden Klammer nie aufhören zu funktionieren.
Standardmäßig stellt TabNine Webanfragen nur zum Herunterladen von Updates und zur Validierung von Registrierungsschlüsseln. In diesem Fall wird Ihr Code nirgendwohin gesendet, auch nicht an TabNine-Server. Sie können sich für TabNine Deep Cloud entscheiden, wodurch Sie die Server von TabNine für GPU-beschleunigte Abschlüsse nutzen können, die auf einem Deep-Learning-Modell basieren. Wenn das Senden von Code an einen Cloud-Dienst nicht möglich ist, bieten wir auch eine selbst gehostete Option an. Kontaktieren Sie uns unter [email protected].
Ein Hinweis zur Lizenzierung: Dieses Repo enthält Quellcode sowie gepackte TabNine-Binärdateien. Die MIT-Lizenz gilt nur für den Quellcode, nicht für die Binärdateien. Die Binärdateien unterliegen der Endbenutzer-Lizenzvereinbarung von TabNine.