4 puan yazan GN⁺ 2025-01-13 | 1 yorum | WhatsApp'ta paylaş
  • 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

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

 
GN⁺ 2025-01-13
Hacker News yorumları
  • Ana sayfadaki findMaxElement fonksiyonunu tamamlama demosu, gelecek olanın; hatta belki de şimdiki durumun iyi bir örneği gibi görünüyor
    O 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 kod
    Bu 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

    • Bence bu kendi kendini düzeltecek bir sorun. Bu kalitede kod ürün olarak yayımlanamaz ve eninde sonunda testleri geçmek için LLM’in yapamadığı son %20–30’luk ayrıntıları anlamanız gerekir
      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
    • Tersinden bakınca bu, bir sonraki soyutlama katmanı da olabilir
      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
    • Cursor önerisi aldığınızda neredeyse her seferinde ardından “Daha iyi bir yolu var mı?” diye sormak, değeri az bilinen bir alışkanlık
    • Eskiden bir şeyleri biliyorduk. Google çıktıktan sonra sadece aramaya başladık ama yine de kendimiz yapabiliyorduk
      Şimdi AI çıktı, onun bizim yerimize yapmasını istemeye başladık; sonunda ne bildiğimiz bir şey kalıyor ne de yapabildiğimiz
    • O örnek, asıl olarak o kodu ana sayfa demosu olarak seçen şirketin muhakemesini gösteriyor gibi
  • 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...

    • MSVC için bir eklentisi olup olmadığını merak ediyorum
    • Yalnızca Nvidia ve Apple ile mi uyumlu? AMD GPU üzerinde de çalışıp çalışmadığını merak ediyorum
  • 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-Instruct
    Gö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

    • gpt-4o-mini, kod konusunda iyi bir LLM’in neler yapabileceğini değerlendirmek için en iyi ölçüt olmayabilir: https://aider.chat/docs/leaderboards/#aider-polyglot-benchma...
      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-instruct ve qwen2.5-coder-32b-instruct oldukça iyi
      RAM gerçekten azsa qwen2.5-coder-7b-instruct veya codegemma-7b-it de 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
    • Ek bir soru olarak, açık kaynak modeller özel modellere kıyasla daha az “akıllı” olma eğiliminde; bunu telafi etmek için ilgili teknik dokümanları sorgulayıp bağlama ekleyerek daha iyi context sağlama planınız var mı?
  • “IDE / uzantı telemetry anahtarı” Community Edition’da kapatılamıyor. Bu uzaktan ölçüm verilerinin içinde neler olduğu merak konusu

  • 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çin HIP_VISIBLE_DEVICES ayarlamak gerektiği belirtiliyor
    Bu 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

  • 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

    • %100 yerel kodlama asistanlarının yaygınlaşmasını isterim, ancak şu anda “$10K+ GPU’da en iyi çalışır” önerisi bir engel; sonuçta büyük şirketleri kullanmak zorunda kalıyoruz
  • Önerilen donanımı merak ediyorum. GPU gerekli mi? Eski bir Ryzen APU’da (Zen 3 ve Vega 7 grafik) makul çalışabilir mi?

    • Kendi barındırdığınız LLM’lerde genel darboğaz bellek bant genişliğidir
      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
    • 3090 ile yerel kurulum örneği https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ adresinde görülebilir
  • Ç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