Allgemeine Einführung
Tabby ist ein quelloffener KI-Programmierassistent, der vom TabbyML-Team entwickelt wurde und von den Benutzern selbst lokal oder auf einem Server eingesetzt werden kann. Er bietet ähnliche GitHub Kopilot Tabby unterstützt mehrere Programmiersprachen und kann in Entwicklungswerkzeuge wie VSCode und Vim integriert werden. Offiziellen Angaben zufolge bietet die neueste Version v0.24.0 (Stand: April 2025) Unterstützung für LDAP-Authentifizierung und Benachrichtigungen über Hintergrundaufgaben, und die Funktionalität wird weiter optimiert. Es ist für datenschutzbewusste Entwickler oder Teams geeignet.
Funktionsliste
- Code VervollständigungVorschlagen von einzelnen oder mehreren Codezeilen in Echtzeit bei der Eingabe von Code zur Verbesserung der Effizienz.
- Intelligenter Chat-AssistentProgrammieren: Beantworten Sie Fragen zur Programmierung oder erstellen Sie Codeschnipsel im Dialog.
- Selbstgehostete BereitstellungLäuft lokal oder in der Cloud, schützt den Datenschutz, unterstützt die Anpassung.
- Unterstützung mehrerer ModelleOpen-Source-Modelle wie StarCoder-1B, Qwen2-1.5B, etc. können verwendet werden.
- kontextabhängigVerstehen Sie den Kontext des Codes und geben Sie präzise Ratschläge.
- IDE-IntegrationUnterstützung von VSCode, Vim, IntelliJ und anderen wichtigen Editoren.
- Code-BrowserDurchsuchen von Projektcode mit Such- und Navigationsunterstützung.
- VerwendungsstatistikenNutzung von Daten zur Code-Vervollständigung und zum Chat.
- LDAP-AuthentifizierungEnterprise-Benutzer können Berechtigungen über LDAP verwalten (neu in v0.24.0).
Hilfe verwenden
Einbauverfahren
Tabby muss vom Benutzer erstellt werden. Hier sind die detaillierten Schritte auf Basis von Docker.
- Vorbereiten der Umgebung
- Stellen Sie sicher, dass Docker installiert ist (Version 20.10 oder höher).
- Wenn Sie einen Grafikprozessor verwenden, müssen Sie den NVIDIA-Treiber und das CUDA Toolkit installieren (11.8 oder 12.x empfohlen).
- Reservieren Sie mindestens 10 GB Speicherplatz für Modelle und Daten.
- Spiegel abziehen
Führen Sie den folgenden Befehl im Terminal aus, um die neueste Tabby-Version zu erhalten:
docker pull tabbyml/tabby
- Starten Sie den Server
Verwenden Sie zum Starten den folgenden Befehl, der standardmäßig den Port 8080 überwacht:
docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model TabbyML/StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
--gpus all
Aktivieren Sie die GPU-Beschleunigung (keine GPU kann entfernt werden).-p 8080:8080
: Stellt den Container-Port lokal dar.-v $HOME/.tabby:/data
:: Daten werden lokal gespeichert.tabby
Mappe.--model
Gibt das Modell für die Code-Vervollständigung an, standardmäßig StarCoder-1B.--chat-model
Chat-Modell angeben, standardmäßig Qwen2-1.5B-Instruct.--device cuda
: GPU verwenden, wenn keine GPU, wechseln Sie zucpu
.
- Verifizierungsläufe
Rufen Sie nach dem Start diehttp://localhost:8080
. Wenn die Begrüßungsseite angezeigt wird oder das Protokoll die Meldung "Listening at 0.0.0.0:8080" ausgibt, ist der Vorgang erfolgreich. - Installation von IDE-Erweiterungen
- VSCodeSuchen Sie im Erweiterungsmarkt nach "Tabby", installieren Sie es und setzen Sie die Serveradresse auf
http://localhost:8080
. - VimInstallation über den Plug-in-Manager
TabbyML/vim-tabby
Laufennpx tabby-agent --stdio
Verbindungen. - IntelliJSuchen Sie nach "Tabby" im JetBrains Marketplace, um die Adresse zu installieren und zu konfigurieren.
Hauptfunktionen
Code Vervollständigung
- Verfahren: Geben Sie den Code in die IDE ein, und Tabby zeigt ein Vorschlagsfeld an. Drücken Sie
Tab
Akzeptanz.Esc
Ablehnung. - Ausgewählte FunktionenContext-Awareness wird unterstützt. Zum Beispiel, Eingabe
def sort_list
vorschlagen kann:
def sort_list(lst):
return sorted(lst)
- Anpassungsparameter: In
config.toml
Änderungmax_input_length
(Standardwert 1024) undmax_output_tokens
(Standardwert 512).
Intelligenter Chat-Assistent
- Wege zum ÖffnenVSCode: Klicken Sie in VSCode auf das Tabby-Symbol in der Seitenleiste, um das Chat-Panel zu öffnen.
- VerwendungEingabefragen wie "Schreiben Sie eine Array-Deduplizierungsfunktion in JavaScript", die Tabby zurückgeben wird:
function uniqueArray(arr) {
return [...new Set(arr)];
}
Dies kann auch über die @
Siehe das Dokument, um den Kontext zu verdeutlichen.
- Befehl ausführen: Ähnliches eingeben
dir
um die Simulationsergebnisse anzuzeigen (v0.23.0 Enhanced).
Code-Browser
- ZugangswegKlicken Sie in der Weboberfläche auf "Code Browser".
- Arbeitsablauf: Geben Sie Schlüsselwörter ein (z.B.
class
), Code suchen. Unterstützung der Filterung nach Dateityp, klicken Sie auf die Ergebnisse, um zu einem bestimmten Ort zu springen. - Merkmale aktualisierenv0.23.0 Optimiertes Browsing-Erlebnis mit Unterstützung für mehr Navigationsoptionen.
zusätzlicher Hinweis
- ErsteinführungDas Herunterladen des Modells kann je nach Netz 5-10 Minuten dauern.
- Leistungsoptimierung: Verwendung
--parallelism 4
Erhöhung der gleichzeitigen Verarbeitungsleistung (erfordert High-End-Hardware). - Unterstützung der GemeinschaftVerfügbar über Slack (
links.tabbyml.com/join-slack
) Holen Sie sich Hilfe.
Anwendungsszenario
- persönliche Entwicklung
Ein Front-End-Entwickler setzt Tabby lokal ein und verwendet es zur Ergänzung der Reagieren Sie Komponentencodes, um Zeit für doppelte Einträge zu sparen. - Kollaboration im Unternehmen
Das Unternehmen setzte Tabby auf einem internen Server ein, und mit der LDAP-Authentifizierung konnten die Teammitglieder Fehler schnell über die Chat-Funktion beheben. - Bildung und Ausbildung
Die Schüler lernen mit Tabby C++, indem sie im Chat fragen: "Was ist ein Zeiger?" und Codebeispiele und Erklärungen erhalten.
QA
- Welche Modelle werden von Tabby unterstützt?
StarCoder-1B (Code-Vervollständigung) und Qwen2-1.5B-Instruct (Chat) werden standardmäßig unterstützt, und Benutzer können andere Open-Source-Modelle ersetzen. - Was sind die Vorteile des Selbst-Hostings?
Die Daten werden nicht in die Cloud hochgeladen, sind für datenschutzsensible Szenarien vollständig lokalisiert und können frei konfiguriert werden. - Was sind die Mindestanforderungen an die Hardware?
Die CPU läuft mit 8 GB RAM und die GPU läuft mit 16 GB RAM und 4 GB Videospeicher.