4 poin oleh GN⁺ 2025-01-13 | 1 komentar | Bagikan ke WhatsApp
  • Tabby adalah asisten coding AI yang di-host sendiri, disediakan sebagai alternatif open-source dan on-premises untuk GitHub Copilot, dengan tujuan alur operasional tanpa layanan cloud
  • Servernya mengusung konfigurasi mandiri yang tidak memerlukan DBMS atau layanan cloud, dan dirancang agar mudah diintegrasikan dengan infrastruktur yang sudah ada seperti Cloud IDE melalui antarmuka OpenAPI
  • Lingkungan eksekusinya mendukung GPU kelas konsumen, dan server dapat dijalankan dengan satu perintah Docker menggunakan model kode StarCoder-1B dan model chat Qwen2-1.5B-Instruct
  • Pembaruan terbaru mencakup v0.30 yang mengindeks GitLab Merge Request sebagai konteks, v0.29 yang menambahkan dokumentasi sendiri melalui REST API, serta v0.28 yang mengubah pesan Answer Engine menjadi Pages yang dapat dibagikan
  • Tersedia dokumentasi untuk ekstensi IDE/Editor, instalasi, konfigurasi, dan panduan kontribusi; dengan menyiapkan lingkungan Rust serta beberapa dependensi, pengguna dapat membangun langsung dengan cargo build

Peran dan fitur dasar Tabby

  • Tabby adalah asisten coding AI yang di-host sendiri, sekaligus alternatif open-source dan on-premises untuk GitHub Copilot
  • Fitur utamanya dapat dirangkum menjadi tiga hal
    • Bersifat mandiri, sehingga tidak memerlukan DBMS atau layanan cloud
    • Menyediakan antarmuka OpenAPI, sehingga mudah diintegrasikan dengan infrastruktur yang sudah ada seperti Cloud IDE
    • Mendukung GPU kelas konsumen
  • Proyek ini menyediakan tautan ke dokumentasi, Slack, dan roadmap
  • Demo live dapat dibuka di situs web Tabby

Perubahan terbaru

  • 2025-12-12: Tersedia vscode@0.20.0 yang menghubungkan GitHub issue ke pekerjaan Pochi untuk implementasi, serta memungkinkan pembuatan PR dari sidebar bersama analisis hasil CI/Lint/Test
  • 2025-07-02: v0.30 mendukung fitur untuk mengindeks GitLab Merge Request sebagai konteks
  • 2025-05-25: Tersedia panduan untuk bergabung dalam daftar tunggu private preview Agent
  • 2025-05-20: Di v0.29, pengguna dapat menambahkan dokumentasi sendiri ke Tabby melalui REST API
  • 2025-05-01: v0.28 mengonversi pesan Answer Engine menjadi Pages yang persisten dan dapat dibagikan
  • 2025-03-31: v0.27 menyediakan menu @ yang lebih kaya di panel samping chat

Cakupan fitur yang terlihat dari pembaruan sebelumnya

  • Answer Engine diperkenalkan di v0.13.0 sebagai mesin pengetahuan terpusat untuk tim engineering internal, dan memberikan jawaban dengan berintegrasi dengan data internal tim pengembang
  • Tabby telah menambahkan berbagai fitur integrasi dan konfigurasi seperti GitLab SSO, GitHub/GitLab yang di-host sendiri, integrasi HTTP API, serta repo-context pada Code Browser
  • Alur plugin IDE mencakup pembaruan VSCode/Vim/IntelliJ, panel samping chat VSCode, pengeditan melalui perintah chat, beberapa pilihan untuk inline completion, serta pesan commit yang dibuat otomatis
  • Code completion memanfaatkan snippet lokal yang relevan seperti deklarasi LSP lokal dan kode yang baru-baru ini diubah; di v0.3.0, code completion berbasis RAG diaktifkan secara default
  • Dari sisi dukungan model, disebutkan dukungan untuk CodeGemma, CodeQwen, Codestral, dukungan eksperimental CodeLlama 7B, serta dukungan inferensi Apple M1/M2 Metal

Cara memulai dan contoh menjalankan

docker run -it \
  --gpus all -p 8080:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby \
  serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
  • Opsi tambahan mencakup pengaturan seperti tipe inferensi dan paralelisme, dan dapat dilihat di halaman dokumentasi terpisah

Kontribusi dan build

  • Panduan kontribusi lengkap tersedia di CONTRIBUTING.md
  • Source code di-clone bersama submodule
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
  • Jika repositori sudah di-clone, semua submodule dapat diambil dengan perintah git submodule update --recursive --init
  • Persiapan sebelum build adalah sebagai berikut
    • Menyiapkan lingkungan Rust
    • macOS: brew install protobuf
    • Ubuntu/Debian: apt install protobuf-compiler libopenblas-dev
    • Alat bantu berguna untuk Ubuntu: apt install make sqlite3 graphviz
  • Setelah persiapan selesai, Tabby dapat dibangun dengan cargo build
  • Alur kontribusi berlanjut ke pengiriman Pull Request setelah melakukan perubahan

1 komentar

 
GN⁺ 2025-01-13
Opini Hacker News
  • Demo penyelesaian fungsi findMaxElement di halaman beranda terasa seperti contoh yang menunjukkan seperti apa masa depan, atau mungkin bahkan kondisi saat ini, dengan cukup baik
    Enam baris Python yang diusulkan untuk fungsi itu sebenarnya bisa diganti dengan return max(arr), dan meski berfungsi, itu sepenuhnya kode level junior
    Kode mengerikan seperti ini saja sudah menakutkan, tapi yang lebih mengkhawatirkan adalah orang-orang yang secara membabi buta melakukan autocomplete terhadapnya mungkin akan berhenti berkembang kemampuannya
    Mereka mungkin bisa mendapat story point, tapi apakah mereka benar-benar menjadi lebih baik sebagai developer patut dipertanyakan

    • Menurut saya ini masalah yang akan mengoreksi diri sendiri. Kode dengan kualitas seperti ini tidak bisa dikirim sebagai produk, dan pada akhirnya untuk lolos pengujian, kita harus memahami 20–30% detail terakhir yang tidak bisa dikerjakan LLM
      Namun untuk memahami 20% itu, kita juga harus memahami 80% yang ditangani LLM, jadi saya tidak terlalu khawatir karena LLM tidak akan menggantikan sampai tahap deployment
    • Sebaliknya, ini bisa saja menjadi lapisan abstraksi tahap berikutnya
      Seperti bahasa mesin → assembly → C → Python → LLM (bahasa alami), prompt manusia dikompilasi menjadi kode perantara seperti Python
      Versi awal CPython juga pasti tidak sempurna, dan para engineer mungkin merasa gelisah. Jika beruntung, “compiler” baru ini juga akan makin baik dan efisien, tetapi tidak akan sempurna
      Meski begitu, kita mungkin akan membayar biaya yang mirip dengan biaya yang sudah kita terima karena orang-orang tidak lagi menangani assembly secara langsung
    • Saat menerima saran Cursor, kebiasaan yang diremehkan adalah hampir selalu menindaklanjutinya dengan bertanya, “Apakah ada cara yang lebih baik?
    • Dulu kita mengetahui sesuatu. Setelah Google muncul, kita hanya mencarinya, tetapi tetap masih bisa melakukannya sendiri
      Sekarang AI muncul, kita bertanya agar ia melakukannya untuk kita, dan pada akhirnya kita tidak tahu apa-apa dan tidak bisa melakukan apa-apa
    • Contoh itu sepertinya lebih banyak menunjukkan penilaian perusahaan yang memilih kode tersebut sebagai demo halaman beranda
  • Saya tidak menyangka proyek kami akan masuk halaman depan HN pada hari Minggu
    Tabby telah berkembang pesat sejak dirilis 2 tahun lalu https://www.tabbyml.com, dan kini telah menjadi platform developer AI yang menyeluruh dengan penyelesaian kode dan chat codebase
    Untuk penggunaan tim/perusahaan, Tabby juga mendukung SSO, kontrol akses, dan autentikasi pengguna https://demo.tabbyml.com/search/how-to-add-an-embedding-api-...
    Para pengguna yang mengadopsinya menemukan bahwa Tabby adalah satu-satunya platform yang menyediakan onboarding self-service penuh dalam model penyediaan on-premise, dan performanya juga sebanding dengan opsi lain di pasar, jadi jika penasaran kami sarankan mencobanya
    https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
    https://www.linkedin.com/posts/kelvinmu_last-week-i-introduc...

    • Penasaran apakah ada plugin untuk MSVC
    • Apakah hanya kompatibel dengan Nvidia dan Apple? Penasaran apakah juga berjalan di GPU AMD
  • Sebagai orang yang tidak terlalu paham AI lokal tetapi ingin mencobanya, saya penasaran seberapa jauh “run tabby in 1 minute” https://github.com/TabbyML/tabby#run-tabby-in-1-minute jika dibandingkan, misalnya, dengan ChatGPT gratis 4o-mini
    Jika menjalankan perintah Docker di bawah ini pada MacBook Pro spesifikasi menengah, apakah kita bisa memakai AI dengan kecepatan dan kemampuan yang mirip, atau masih belum sampai ke level itu?
    docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
    Ternyata ada halaman panduan terpisah untuk MacBook dan konteks tambahan https://tabby.tabbyml.com/docs/quick-start/installation/appl...
    Di sana tertulis, “Kemampuan komputasi M1/M2 terbatas, sehingga mungkin cukup untuk penggunaan pribadi, tetapi jika membutuhkan instance bersama untuk tim, pertimbangkan hosting Docker berbasis CUDA atau ROCm”

    • gpt-4o-mini mungkin bukan patokan terbaik untuk menilai apa yang bisa dilakukan LLM yang bagus pada kode: https://aider.chat/docs/leaderboards/#aider-polyglot-benchma...
      Model yang sangat kecil seperti 1.5B cukup bodoh sehingga tidak bagus untuk menghasilkan kode secara interaktif, tetapi model di bawah 3B pun bisa cukup baik untuk saran penyelesaian dengan tombol Tab
      Ada juga model “open” yang lebih besar yang bisa dijalankan secara lokal, dan model di kisaran 32B–70B bisa jauh lebih baik daripada gpt-4o-mini dalam hampir semua hal, termasuk menulis kode. Misalnya llama3.3-70b-instruct dan qwen2.5-coder-32b-instruct cukup bagus
      Jika RAM benar-benar terbatas, qwen2.5-coder-7b-instruct atau codegemma-7b-it juga masih bisa dipakai untuk tugas sederhana
      Ungkapan “MacBook Pro spesifikasi menengah” saja tidak cukup; yang penting adalah berapa banyak RAM-nya. Sebagai aturan praktis, dibutuhkan sekitar 1GB RAM per 1B parameter
      Dengan kuantisasi kuat bisa 500MB, sedangkan model tanpa kuantisasi sekitar 2GB, tetapi kuantisasi 8-bit biasanya sekitar 1GB dan umumnya baik-baik saja
    • Sebagai pertanyaan tambahan, model open-source cenderung kurang “pintar” dibanding model tertutup, jadi saya penasaran apakah ada rencana untuk mengimbanginya dengan menyediakan konteks yang lebih baik, misalnya dengan menanyakan dokumen teknis terkait dan memasukkannya ke konteks
  • “Toggle telemetri IDE / ekstensi” tidak bisa dimatikan di Community Edition. Jadi penasaran apa saja yang termasuk dalam data telemetri jarak jauh ini

    • Informasi status yang dikumpulkan kira-kira memiliki struktur berikut
      struct HealthState {
      model: String,
      chat_model: Option,
      device: String,
      arch: String,
      cpu_info: String,
      cpu_count: usize,
      cuda_devices: Vec,
      version: Version,
      webserver: Option,
      }
      https://tabby.tabbyml.com/docs/administration/usage-collecti...
  • Saya memakai Continue.dev dan ollama untuk tujuan serupa, dan selalu senang melihat makin banyak alat di bidang ini
    Namun seperti biasa, untuk menjalankan model yang benar-benar bagus, misalnya Qwen2.5-coder 32B, dibutuhkan hardware yang cukup kuat

  • Semua contohnya pada dasarnya adalah kode yang biasanya dicari di library, dan kualitas sebagian kodenya juga meragukan
    Apakah LLM akan menjadi bot spam untuk codebase?

  • Menurut “cara memanfaatkan beberapa GPU NVIDIA”, Tabby hanya mendukung satu GPU, dan jika ingin memakai beberapa GPU, disarankan menjalankan beberapa instance Tabby lalu mengatur CUDA_VISIBLE_DEVICES untuk CUDA dan HIP_VISIBLE_DEVICES untuk ROCm
    Kalau begitu, saya penasaran apakah penggunaan 2 GPU yang terhubung dengan NVLink untuk inferensi tidak didukung, ataukah ini situasi berbeda karena NVLink memperlakukan dua GPU seperti satu GPU

  • Proyek yang keren. Saya terutama suka idenya bahwa kita tidak perlu mengirim data ke perusahaan besar dan percaya pada ketentuan mereka
    Efektivitas coding assistant berbanding langsung dengan panjang konteks, sementara model terbuka yang bisa dijalankan di komputer pribadi biasanya jauh lebih kecil
    Akan bagus jika ada data yang menguantifikasi seberapa berguna ini pada codebase yang lebih kompleks

    • Saya berharap coding assistant 100% lokal bisa tersebar luas, tetapi untuk saat ini rekomendasi “berjalan paling baik di GPU $10K+” menjadi kendala, sehingga pada akhirnya kita terpaksa memakai perusahaan besar
  • Saya penasaran dengan hardware yang direkomendasikan. Apakah perlu GPU? Apakah bisa berjalan cukup baik di Ryzen APU lama (Zen 3 dan grafis Vega 7)?

    • Bottleneck umum pada LLM yang di-host sendiri adalah bandwidth memori
      Ada atau tidaknya grafis terintegrasi tidak membuat perbedaan besar, dan jika dijalankan hanya dengan CPU, model tetap akan berjalan sangat lambat
      Alasan Mac lumayan oke untuk LLM adalah karena bandwidth memori Apple Silicon luar biasa tinggi, tetapi masih jauh dari kecepatan GPU kelas atas dengan VRAM yang sangat cepat
      Untuk model yang sangat kecil yang dipakai untuk tab completion, CPU AMD lama mungkin masih bisa menanganinya dengan cukup baik
    • Contoh konfigurasi lokal dengan 3090 bisa dilihat di https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
  • Sangat keren. Terutama senang karena ada klien Eclipse https://github.com/TabbyML/tabby/tree/3bd73a8c59a1c21312e812...
    Namun saya harus agak mengulik untuk menemukan informasi tentang klien Eclipse. Tidak ada di README utama maupun di daftar ekstensi IDE pada dokumentasi
    Entah ini sekadar terlewat, atau memang belum siap untuk “dipublikasikan secara resmi”