- Tabby, GitHub Copilot’a açık kaynak ve on-premises alternatif olarak sunulan, kendi barındırılan bir yapay zeka kodlama asistanıdır; bulut hizmeti olmadan çalıştırılabilen bir akışı hedefler
- Sunucu, DBMS veya bulut hizmeti gerektirmeyen kendi kendine yeterli bir yapı sunduğunu vurgular; OpenAPI arayüzüyle Cloud IDE gibi mevcut altyapılarla kolay entegre olacak şekilde tasarlanmıştır
- Çalışma ortamı tüketici sınıfı GPU desteği sunar; tek bir Docker komutuyla
StarCoder-1B kod modeli ve Qwen2-1.5B-Instruct sohbet modeli kullanılarak sunucu ayağa kaldırılabilir
- Son güncellemeler arasında GitLab Merge Request’leri bağlam olarak indeksleyen v0.30, REST API ile kendi dokümanlarınızı eklemeyi sağlayan v0.29 ve Answer Engine mesajlarını paylaşılabilir Pages’a dönüştüren v0.28 yer alır
- IDE/Editor eklentileri, kurulum, yapılandırma dokümanları ve katkı rehberi sağlanır; Rust ortamı ve bazı bağımlılıklar hazırlandıktan sonra
cargo build ile doğrudan derlenebilir
Tabby’nin rolü ve temel özellikleri
- Tabby, kendi barındırılan bir yapay zeka kodlama asistanıdır; GitHub Copilot’un açık kaynak ve on-premises alternatifidir
- Başlıca özellikler üç maddede özetlenir
- Kendi kendine yeterlidir; DBMS veya bulut hizmeti gerektirmez
- OpenAPI arayüzü sunarak Cloud IDE gibi mevcut altyapılarla entegrasyonu kolaylaştırır
- Tüketici sınıfı GPU destekler
- Proje dokümantasyon, Slack, yol haritası bağlantıları sunar
- Canlı demo Tabby web sitesinden açılabilir
Son değişiklikler
- 2025-12-12: GitHub issue’larını Pochi görevlerine bağlayıp uygulamayı ve kenar çubuğunda CI/Lint/Test sonuç analiziyle birlikte PR oluşturmayı sağlayan
vscode@0.20.0 sunuldu
- 2025-07-02: v0.30, GitLab Merge Request’lerini bağlam olarak indeksleme özelliğini destekler
- 2025-05-25: Agent kapalı önizleme bekleme listesine katılım duyuruldu
- 2025-05-20: v0.29 ile REST API üzerinden kendi dokümanlarınızı Tabby’ye ekleyebilirsiniz
- 2025-05-01: v0.28, Answer Engine mesajlarını kalıcı ve paylaşılabilir Pages’a dönüştürür
- 2025-03-31: v0.27, sohbet yan panelindeki
@ menüsünü daha zengin hale getirir
Önceki güncellemelerde görülen özellik kapsamı
- Answer Engine, v0.13.0’da dahili mühendislik ekipleri için merkezi bir bilgi motoru olarak tanıtıldı; geliştirme ekibinin dahili verileriyle entegre olarak yanıtlar sağlar
- Tabby; GitLab SSO, kendi barındırılan GitHub/GitLab, HTTP API entegrasyonu ve Code Browser’da repo-context gibi entegrasyon ve yapılandırma özellikleri ekledi
- IDE eklentisi akışı; VSCode/Vim/IntelliJ güncellemeleri, VSCode sohbet yan paneli, sohbet komutlarıyla düzenleme, satır içi tamamlama için birden fazla seçenek ve otomatik oluşturulan commit mesajlarını içerir
- Kod tamamlama, yerel LSP bildirimleri ve yakın zamanda değiştirilmiş kod gibi yerel olarak ilgili snippet’lerden yararlanır; v0.3.0’da RAG tabanlı kod tamamlama varsayılan olarak etkinleştirildi
- Model desteği tarafında CodeGemma, CodeQwen, Codestral, CodeLlama 7B deneysel desteği ve Apple M1/M2 Metal çıkarım desteği gibi başlıklar belirtilir
Başlangıç yöntemi ve çalıştırma örneği
- Başlangıç dokümanları Getting Started altında sunulur
- Sunucuyu çalıştırmanın en kolay yolu Docker komutunu kullanmaktır
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
- Ek seçenekler, çıkarım türü ve paralellik gibi ayarları içerir; ayrı doküman sayfasında görülebilir
Katkı ve derleme
- Tam katkı rehberi CONTRIBUTING.md içinde yer alır
- Kaynak kod, alt modüllerle birlikte klonlanır
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
- Depoyu zaten klonladıysanız
git submodule update --recursive --init komutuyla tüm alt modülleri alabilirsiniz
- Derlemeden önce yapılması gereken hazırlıklar şunlardır
- Rust ortamını kurma
- macOS:
brew install protobuf
- Ubuntu/Debian:
apt install protobuf-compiler libopenblas-dev
- Ubuntu için faydalı araçlar:
apt install make sqlite3 graphviz
- Hazırlık tamamlandıktan sonra Tabby
cargo build ile derlenebilir
- Katkı akışı, değişikliklerden sonra Pull Request göndermeyle devam eder
1 yorum
Hacker News yorumları
Ana sayfadaki
findMaxElementfonksiyonunu tamamlama demosu, gelecek olanın; hatta belki de şimdiki durumun iyi bir örneği gibi görünüyorO fonksiyon için önerilen 6 satırlık Python kodu basitçe
return max(arr)ile değiştirilebilir; çalışıyor ama tamamen junior seviyesinde kodBu berbat kodun kendisi de ürkütücü, ama daha da endişe verici olan, bunu körü körüne otomatik tamamlayan insanların beceri gelişiminin duracak gibi olması
Story point kazanabilirsiniz, ama gerçekten geliştirici olarak ilerleyip ilerlemediğiniz şüpheli
Ama o %20’yi anlamak için LLM’in hallettiği %80’i de anlamanız gerekir; bu yüzden LLM’in dağıtıma kadar her şeyi sizin yerinize yapamayacağı noktasında çok endişeli değilim
Makine dili → assembly → C → Python → LLM (doğal dil) gibi; insanın prompt’unu Python benzeri bir ara koda derlemek gibi
CPython’ın ilk sürümleri de kusursuz değildi ve mühendisler muhtemelen tedirgindi. Şansımız yaver giderse bu yeni “derleyici” de giderek daha iyi ve verimli olur, ama kusursuz olmaz
Yine de insanların assembly ile doğrudan uğraşmamanın karşılığında zaten ödediği bedele benzer bir maliyet doğurabilir
Şimdi AI çıktı, onun bizim yerimize yapmasını istemeye başladık; sonunda ne bildiğimiz bir şey kalıyor ne de yapabildiğimiz
Projemizin pazar günü HN ana sayfasına çıkacağını hiç beklemiyorduk
Tabby, 2 yıl önce yayımlandığından beri büyük ilerleme kaydetti https://www.tabbyml.com ve artık kod tamamlama ile kod tabanı sohbeti sunan kapsamlı bir AI geliştirici platformu haline geldi
Ekip/kurumsal kullanıma uygun olarak SSO, erişim kontrolü ve kullanıcı kimlik doğrulamayı da destekliyor https://demo.tabbyml.com/search/how-to-add-an-embedding-api-...
Kullananlar, Tabby’nin şirket içi kurulum modelinde tam self-servis onboarding sunan tek platform olduğunu gördü; performansı da piyasadaki diğer seçeneklerle yarışır düzeyde, merak ediyorsanız denemenizi öneririz
https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
https://www.linkedin.com/posts/kelvinmu_last-week-i-introduc...
Yerel AI konusunda pek bilgim yok ama denemek isteyen biri olarak, “run tabby in 1 minute” https://github.com/TabbyML/tabby#run-tabby-in-1-minute örneğinin, mesela ChatGPT’nin ücretsiz 4o-mini modeliyle kıyaslandığında ne seviyede olduğunu merak ediyorum
Orta seviye bir MacBook Pro’da aşağıdaki Docker komutunu çalıştırırsam hız ve yetenek olarak benzer bir AI kullanabilir miyim, yoksa henüz o seviyede değil mi bilmek istiyorum
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-InstructGörünüşe göre MacBook için ayrı bir yönerge sayfası var ve daha fazla bağlam bulunuyor https://tabby.tabbyml.com/docs/quick-start/installation/appl...
“M1/M2’nin hesaplama kapasitesi sınırlı olduğundan kişisel kullanım için yeterli olabilir, ancak ekip için paylaşılan bir instance gerekiyorsa CUDA veya ROCm tabanlı Docker hosting’i değerlendirin” deniyor
1.5B gibi çok küçük modeller epey aptal olduğundan etkileşimli kod üretmek için iyi değildir, ama 3B altı modeller bile sekme tamamlama önerilerinde oldukça iyi olabilir
Yerelde çalıştırılabilecek daha büyük “açık” modeller de var; 32B–70B aralığındaki modeller, kod yazma dahil neredeyse her açıdan gpt-4o-mini’den çok daha iyi olabilir. Örneğin
llama3.3-70b-instructveqwen2.5-coder-32b-instructoldukça iyiRAM gerçekten azsa
qwen2.5-coder-7b-instructveyacodegemma-7b-itde basit işler için iş görebilir“Orta seviye MacBook Pro” ifadesi tek başına yeterli değil; RAM miktarı önemli. Pratik kural olarak parametre başına 1B için yaklaşık 1GB RAM gerekir
Ağır quantization uygulanırsa 500MB, quantize edilmemiş modelde yaklaşık 2GB gerekir; ancak 8-bit quantization genelde yaklaşık 1GB’dır ve çoğu durumda gayet iyidir
“IDE / uzantı telemetry anahtarı” Community Edition’da kapatılamıyor. Bu uzaktan ölçüm verilerinin içinde neler olduğu merak konusu
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...
Benzer bir amaçla Continue.dev ve ollama kullanıyorum; bu alanda daha fazla aracın çıkması her zaman sevindirici
Ancak her zamanki gibi gerçekten iyi bir modeli, örneğin Qwen2.5-coder 32B’yi çalıştırmak için epey güçlü donanım gerekiyor
Örneklerin hepsi normalde bir kütüphanede bulunabilecek türden kodlar ve bazı kodların kalitesi de şüpheli
LLM, kod tabanları için bir spam botuna mı dönüşüyor?
“Birden fazla NVIDIA GPU’dan yararlanma yöntemi”ne göre Tabby yalnızca tek GPU destekliyor; birden fazla GPU kullanmak için birden çok Tabby instance’ı ayağa kaldırıp CUDA için
CUDA_VISIBLE_DEVICES, ROCm içinHIP_VISIBLE_DEVICESayarlamak gerektiği belirtiliyorBu durumda NVLink ile bağlı 2 GPU’yu çıkarım için kullanmanın desteklenip desteklenmediğini, yoksa NVLink iki GPU’yu tekmiş gibi ele aldığı için bunun farklı bir durum olup olmadığını merak ediyorum
Örnek için https://tabby.tabbyml.com/docs/references/models-http-api/vl... incelenebilir
Harika bir proje. Büyük şirketlere veri göndermek ve şartlarına güvenmek zorunda olmama fikri özellikle hoşuma gidiyor
Kodlama asistanının etkisi bağlam uzunluğu ile doğrudan orantılı, ancak kişisel bilgisayarda çalıştırılabilen açık modeller genellikle çok daha küçük
Daha karmaşık kod tabanlarında ne kadar faydalı olduğunu nicel olarak gösteren veriler olsa iyi olurdu
Önerilen donanımı merak ediyorum. GPU gerekli mi? Eski bir Ryzen APU’da (Zen 3 ve Vega 7 grafik) makul çalışabilir mi?
Entegre grafik olsun ya da olmasın büyük fark yaratmaz; yalnızca CPU ile çalıştırıldığında model aynı şekilde çok yavaş çalışır
Mac’lerin LLM’lerde fena sayılmamasının nedeni Apple Silicon’ın bellek bant genişliğinin alışılmadık derecede yüksek olmasıdır, ancak çok hızlı VRAM’e sahip üst seviye GPU’ların hızının epey gerisinde kalır
Sekme tamamlama için kullanılan çok küçük bir modelse eski bir AMD CPU muhtemelen bunun altından makul şekilde kalkabilir
Çok güzel. Özellikle Eclipse istemcisi olması sevindirici https://github.com/TabbyML/tabby/tree/3bd73a8c59a1c21312e812...
Ancak Eclipse istemcisiyle ilgili bilgiyi bulmak için biraz kurcalamak gerekti. Ana README’de de, belgelerdeki IDE uzantıları listesinde de yoktu
Basit bir eksiklik mi, yoksa henüz “tam anlamıyla duyurmaya” hazır değil mi bilmiyorum