9.7    Tabby

Tabby (https://tabby.tabbyml.com) ist ein selbst gehosteter KI-Code-Assistent, der aus einem Server und einem Editor-Plug-in besteht. Das Projekt ist eine spannende Alternative zur Kombination aus Ollama und Continue. Tabby bietet sich besonders dann an, wenn ein zentraler Server Code-Assistant-Dienste für mehrere Mitarbeitende einer Firma oder Organisation anbieten soll.

Sie können den zugehörigen Server entweder lokal auf Ihrem System oder zentral in Ihrem Firmennetzwerk ausführen. Tabby stellt selbst kein LLM zur Verfügung, sondern erlaubt Ihnen die Auswahl aus einer ganzen Reihe etablierter, auf Entwicklung spezialisierter LLMs wie StarCoder, CodeLlama oder CodeGemma. Die Modelle sind so dimensioniert, dass sie auf einem einigermaßen leistungsfähigen System ausgeführt werden können.

Installation des Tabby-Servers und des Plug-ins

Normalerweise betreiben Sie Tabby in einem Container. Das Projekt stellt hierfür ein Docker-Image zur Verfügung, sodass Sie direkt loslegen können. Wenn Sie über eine NVIDIA-Grafikkarte verfügen, können Sie die Vorteile von CUDA nutzen. Dazu müssen Sie lediglich das NVIDIA Container Toolkit installieren. Anschließend starten Sie den Container mit dem folgenden Kommando:

docker run -it --gpus all \
-p 8080:8080 -v $HOME/.tabby:/data \
tabbyml/tabby serve --model StarCoder-1B \
--chat-model Qwen2-1.5B-Instruct --device cuda

Für die CPU-basierte Ausführung nutzen Sie dieses Kommando:

docker run --entrypoint /opt/tabby/bin/tabby-cpu -it \
-p 8080:8080 -v $HOME/.tabby:/data \
tabbyml/tabby serve --model StarCoder-1B \
--chat-model Qwen2-1.5B-Instruct

Mit den Optionen --model und --chat-model geben Sie an, welches Modell Sie für die Codevervollständigung beziehungsweise für den Chat verwenden möchten.

Alternativ zum Betrieb in einem Container können Sie Tabby auch nativ auf Windows, Linux und macOS installieren. Die erforderlichen Schritte finden Sie in der Tabby-Dokumentation:

https://tabby.tabbyml.com/docs/welcome

Sobald Sie den Tabby-Server ausführen, müssen Sie einen neuen Account erstellen. Diesen benötigen Sie später, um sich mit dem Server zu verbinden. Die Web-Oberfläche von Tabby erreichen Sie standardmäßig über http://localhost:8080. Der erste Benutzer, den Sie hier registrieren, ist automatisch der Admin-User für den Server.

Alle weiteren Benutzer, die ebenfalls diesen Server verwenden sollen, müssen Sie über die Einstellungen des Admin-Users einladen. Dabei geben Sie die E-Mail-Adresse des Benutzers an. Da Tabby in seiner Standardkonfiguration nicht an einen Mailserver angeschlossen ist, wird keine E-Mail mit dem Einladungscode gesendet. Sie können jedoch den Link zur Einladung, der den Code enthält, in der Admin-Oberfläche kopieren und ihn manuell an die Person senden. Anschließend muss diese Person ihre Profildetails vervollständigen und ein Passwort festlegen.

Der letzte Schritt, bevor Sie Tabby verwenden können, besteht darin, das Tabby-Plug-in für Ihre Entwicklungsumgebung zu installieren. Das Plug-in ist derzeit für VS Code, IntelliJ und VIM/NeoVIM verfügbar.

Anwendung

Als konkretes Beispiel werfen wir einen Blick auf die Tabby-Integration in VS Code. Nach der Installation fordert das Plug-in Sie auf, Ihr Token einzugeben. Dieses erhalten Sie auf der Startseite des Tabby-Servers. Sobald Sie das Token eingefügt und bestätigt haben, ist die Erweiterung betriebsbereit. Sie können in der Extension verschiedene Unterstützungen nutzen:

Ein weiteres spannendes Feature ist der Context in Tabby. Hier können Sie beispielsweise ein Git-Repository angeben. Tabby verarbeitet den Code dieses Repositorys und speichert ihn in seinem internen Index. Diese Informationen nutzt das Werkzeug dann für die Features der Erweiterung wie Code-Vervollständigung oder kontextuelle Abfragen.