はじめに
Tabbyは、TabbyMLチームによって開発されたオープンソースのAIプログラミング・アシスタントであり、ユーザーはローカルまたはサーバー上に配置することができる。同様の機能を ギットハブ・コパイロット Tabbyは複数のプログラミング言語をサポートしており、VSCodeやVimなどの開発ツールに統合することができる。公式データによると、2025年4月現在、最新バージョンv0.24.0ではLDAP認証とバックグラウンドタスク通知がサポートされており、機能は引き続き最適化されている。プライバシーを重視する開発者やチームに適している。
機能一覧
- コードの完成コード入力の際、1行または複数行のコードをリアルタイムで提案し、効率化を図ります。
- インテリジェント・チャット・アシスタントプログラミングの質問に答えたり、対話を通じてコード・スニペットを生成します。
- セルフホストデプロイメントローカルまたはクラウドで動作し、データのプライバシーを保護し、カスタマイズをサポートします。
- マルチモデル対応StarCoder-1B、Qwen2-1.5Bなどのオープンソースモデルを使用することができます。
- コンテクストセンシティブコードの文脈を理解し、的確なアドバイスを提供する。
- IDEの統合VSCode、Vim、IntelliJ、その他の主要なエディタをサポートします。
- コードブラウザ検索とナビゲーションをサポートするプロジェクトコードをブラウズします。
- 利用統計コード補完とチャットの使用データを見ることができます。
- LDAP認証: エンタープライズユーザーはLDAP経由でパーミッションを管理できます(v0.24.0の新機能)。
ヘルプの使用
設置プロセス
Tabbyはユーザーによってビルドされる必要がある。以下はDockerに基づく詳細な手順である。
- 環境を整える
- Dockerがインストールされていることを確認する(バージョン20.10以上)。
- GPUを使用している場合は、NVIDIAドライバとCUDAツールキット(11.8または12.x推奨)をインストールする必要があります。
- モデルとデータ用に、少なくとも10GBのストレージ容量を確保する。
- プルミラー
ターミナルで以下のコマンドを実行し、最新のTabbyを取得する:
docker pull tabbyml/tabby
- サーバーの起動
デフォルトではポート8080でリッスンしている:
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
GPU アクセラレーションを有効にする(GPU は取り外せない)。-p 8080:8080
コンテナ・ポートをローカルにマップする。-v $HOME/.tabby:/data
:: データはローカルに保存される.tabby
フォルダー--model
デフォルトは StarCoder-1B です。--chat-model
デフォルトはQwen2-1.5B-Instructです。--device cuda
GPUを使用しない場合は、次のように変更する。cpu
.
- 検証走行
起動後http://localhost:8080
.ウェルカムページが表示されるか、ログに「Listening at 0.0.0.0:8080」と表示されれば成功です。 - IDE拡張機能のインストール
- VSCode拡張機能マーケットで "Tabby "を検索してインストールし、サーバーアドレスを
http://localhost:8080
. - ヴィムプラグインマネージャーによるインストール
TabbyML/vim-tabby
ランニングnpx tabby-agent --stdio
コネクションだ。 - インテリジェイJetBrains Marketplaceで "Tabby "を検索し、アドレスのインストールと設定を行います。
主な機能
コードの完成
- 手続きIDEにコードを入力すると、Tabbyが提案ボックスをポップアップ表示します。押す
Tab
受け入れる。Esc
不合格。 - 注目の機能コンテキスト認識への対応。例えば、入力
def sort_list
と示唆しているのかもしれない:
def sort_list(lst):
return sorted(lst)
- 調整パラメーターで
config.toml
修正max_input_length
(デフォルト1024)とmax_output_tokens
(デフォルトは512)。
インテリジェント・チャット・アシスタント
- 開き方: VSCodeで、サイドバーのTabbyアイコンをクリックしてチャットパネルを開きます。
- 使用方法例えば、「JavaScriptで配列の重複排除関数を書け:
function uniqueArray(arr) {
return [...new Set(arr)];
}
を通じて行うこともできる。 @
文脈を補足するために文書を参照すること。
- コマンド実行似たようなものを入力
dir
コマンドでシミュレーション結果を見ることができます(v0.23.0 Enhanced)。
コードブラウザ
- アクセスパスウェブインターフェースの "Code Browser "をクリックします。
- ワークフローキーワードを入力する。
class
)、検索コード。ファイルタイプによるフィルタリングをサポートし、結果をクリックして特定の場所にジャンプします。 - アップデート機能: v0.23.0 より多くのナビゲーションオプションをサポートし、ブラウジング体験を最適化しました。
補注
- 初号機モデルのダウンロードには、ネットワークによって5~10分かかる場合があります。
- パフォーマンス最適化使用
--parallelism 4
同時処理能力を高める(ハイエンドのハードウェアが必要)。 - 地域支援Slackで利用可能
links.tabbyml.com/join-slack
)助けを求める。
アプリケーションシナリオ
- 自己開発
フロントエンド開発者はTabbyをローカルにデプロイし、それを使って 反応 重複入力の時間を節約するコンポーネントコード。 - エンタープライズ・コラボレーション
同社は社内サーバーにTabbyを導入し、LDAP認証により、チームメンバーはチャット機能を通じてバグを迅速に解決できるようになった。 - 教育とトレーニング
生徒たちはTabbyを使ってC++を学び、チャットで "ポインタとは何ですか?"と質問し、コードサンプルと説明を得る。
品質保証
- タビーの対応機種は?
StarCoder-1B(コード補完)とQwen2-1.5B-Instruct(チャット)はデフォルトでサポートされており、ユーザーは他のオープンソースモデルを置き換えることができます。 - セルフホスティングの利点は何ですか?
データはクラウドにアップロードされず、プライバシーに配慮したシナリオのために完全にローカライズされ、自由に構成を調整できる。 - 最低限必要なハードウェアは何ですか?
CPUは8GBのRAMで動作し、GPUは16GBのRAMと4GBのビデオメモリで動作する。