GitTalent
Havuz
Depo ayrıntısı

cactus-compute/needle

Gerek yok

Automation foundation model for tiny devices: 2-bit, 8-29 MB, tool calls, ASR, structured extraction and embeddings on phones, wearables, smart homes, robots, cars and microcontrollers.

Python Apache-2.0 24 Şubat 2026 son push 01 Kasım 2026 1.009 fork
Yıldız
14.442+1.842 · 39 gün
Commit · 28g
37
son 28 günde
Yazar · 28g
9
farklı katkıcı

Hızlı değerlendirme

önem 63uyum 58gpt-6-luna

Özet

Needle, küçük cihazlarda tool calling, structured extraction ve embedding çalıştırmayı hedefleyen kompakt bir model ve yazılım paketidir.

Profiline uyum

Mobil cihazlarda offline fonksiyon çağrısı ve agent çalıştırma, mobil uygulamalarınıza yerel AI özellikleri ekleme ihtiyacına kısmen uyuyor.

Neden yükseliyor

Küçük cihazlarda yerel tool calling ve extraction ihtiyacına odaklanması, 216 günde 12.730 yıldıza ulaşması ve son 28 gündeki 36 commit ile 15 farklı yazarın katkısı dikkat çekiyor. Yıldızlar ilginin göstergesi; model performansının bağımsız doğrulaması değil.

Problem

Telefon ve benzeri sınırlı kaynaklı cihazlarda, her isteği buluta göndermeden uygulama araçlarını seçmek, yapılandırılmış veri çıkarmak ve metinleri eşleştirmek zor.

Çözüm

README'ye göre 8–29 MB'lık quantized model dosyaları ve `cactus-needle` Python paketiyle tool calling, grammar ile kısıtlanmış JSON extraction ve embedding sunuyor; farklı katman derinliklerinde dağıtılabilen bir model mimarisi kullanıyor.

Yenilik

Öne çıkan iddia, farklı derinliklerde dağıtılabilen Laddered Simple Attention Network mimarisi ve küçük model boyutunda tool calling performansı. Yaklaşımın ne ölçüde üstün olduğu README'deki benchmark iddialarına dayanıyor; verilen bilgiler bağımsız karşılaştırma veya tekrar üretilebilirlik kanıtı sunmuyor.

Teknolojiler

  • Python
  • JAX
  • LoRA
  • GQA
  • Monarch Hadamard MLP
  • Cactus Quants
  • WASI

Riskler

  • Benchmark sonuçları README'de sunuluyor; bağımsız doğrulama ve aynı koşullarda tekrarlanabilirlik bu bilgilerden anlaşılamıyor.
  • Genel amaçlı chat kapasitesinden ödün verildiği belirtiliyor; temel kullanım alanı dışındaki işler için uygun olmayabilir.
  • 8–29 MB boyutu tek başına gerçek cihazlardaki latency, bellek kullanımı, güç tüketimi ve doğruluğu kanıtlamaz.
  • Cihaz ve platform desteğini, lisans koşullarını ve dağıtılacak model ağırlıklarının kullanım şartlarını benimsemeden önce ayrıca doğrulamak gerekir.

Detaylı değerlendirme

Uyum profiline göre: bu işime yarar mı?

claude-opus-5-5 · 25 Eylül 2026

Ne yapar

Needle, telefon, wearable, akilli ev, arac ve mikrodenetleyici gibi kucuk cihazlarda calismak uzere tasarlanmis 8-29 MB'lik, 2-bit quantize edilmis bir foundation model. Genel sohbet kapasitesinden feragat ederek uc ise odaklaniyor: tool calling (uygulamanin sundugu fonksiyonlardan dogrusunu secip argumanlari doldurma, kapsam disi istekte bos liste dondurme), schema tabanli structured extraction (fatura, rezervasyon, form gibi) ve text embedding. Her yanit kalibre edilmis bir confidence skoru ile geliyor.

Nasıl çalışır

'Laddered Simple Attention Network' adli ozel bir mimari kullaniyor: FFN yerine Monarch Hadamard MLP, causal conv tap'li GQA attention, gather ile okunan engram n-gram bellegi ve multi-lane hyper-connection. 2 ile 20 katman arasindaki her derinlik ayri deploy edilebilir bir model olacak sekilde egitilmis. Parametrelerin cogu engram'da duruyor; 121M modelin hesap yuku 50M civarinda oldugu belirtiliyor. Schema'lardan derlenen byte-level grammar her token'i kisitliyor, bu yuzden cikti her zaman parse ediliyor. Agirliklar .cact formatinda tutuluyor ve 1 MB'in altindaki platforma ozel engine'ler (macOS, Linux ARM, browser/WASI, C API) tarafindan yukleniyor. Fine-tuning icin iki yol var: yerelde JAX ile LoRA ya da Cactus GPU'larinda ucretli platform uzerinden tam model egitimi.

Kullanım alanları

  • Mobil uygulamalarda cihaz ustu tool calling (ornegin sesli komutu uygulama aksiyonuna cevirme)
  • Akilli ev ve IoT cihazlarinda offline komut yorumlama
  • Cihaz ustunde mesy metinden structured extraction (bildirim, fatura, form)
  • Yerel embedding ile cihaz icinde arama ve yonlendirme
  • Air-gapped ortamlarda kucuk otomasyon ajanlari

Alternatifler

  • Gemma 3 270M / FunctionGemma (Google'in kucuk cihaz odakli modelleri)
  • Qwen2.5/Qwen3 kucuk modelleri + llama.cpp
  • Hammer / xLAM kucuk function-calling modelleri
  • transformers.js ile tarayicida kucuk embedding modelleri

Kimler için

Mobil, embedded, robotik veya otomotiv tarafinda ag baglantisi olmadan, dusuk bellekle LLM tabanli tool calling ya da extraction yapmasi gereken ekipler icin. Bulutta calisan web SaaS ekipleri icin degil.

Olgunluk

Beta / hizli gelisen. Gerekceler: 12.6k yildiz ve son 28 gunde 15 farkli yazardan 36 commit, aktif ve sirket destekli bir ekip oldugunu gosteriyor; model 3. nesilde ve Needle 2 geriye uyumlulugu korunuyor. Ote yandan GitHub'da hic surum (release) yok, 213 gunluk bir proje, mimari tamamen ozel ve benchmark'lar ureticinin kendi sitesinde yayinlaniyor, bagimsiz dogrulama README'den anlasilmiyor. Binary'de telemetry varsayilan olarak acik.

Kurulum

Kolay: `pip install cactus-needle` ile Python'dan dakikalar icinde denenebilir; tarayicida demo da var. Platform binary'si icin `needle build --platform <folder>` kullaniliyor. Fine-tuning yerelde JAX gerektiriyor, platform secenegi icin API key ve ucretlendirme var. Deno/TypeScript icin resmi SDK README'de gecmiyor; browser/WASI engine uzerinden entegrasyon mumkun olabilir ama bu ek is ister.

Bizim için

Somut kullanım

Dogrudan bir kullanim yeri yok. Teorik olarak iki nokta var. Birincisi, Edge Function'larda cok basit intent veya router siniflandirmasini Anthropic cagrisi yerine ucuz bir yerel modele devretmek; ancak Deno icin WASI/wasm engine'in cold start ve bellek limitlerinde calisip calismadigi README'den anlasilmiyor. Ikincisi, tarayicida istemci tarafli basit form extraction yapmak. Ikisi de su an somut bir ihtiyaca karsilik gelmiyor. Embedding icin pgvector ile birlikte kullandigimiz sunucu tarafi embedding daha uygun kalir.

Uyum gerekçesi

Kaliwa bir web urunu: Next.js arayuz, Vercel ve Supabase Edge Functions uzerinde calisiyor, LLM tarafinda Anthropic kullaniliyor. Needle'in guclu oldugu alan, yani kucuk cihazda offline calisma, bizim darbogazimiz degil. Python ve native binary odakli oldugu icin TS/Deno yiginimiza dogrudan oturmuyor. Tool calling ve embedding konulari takip ettigimiz agent ve embedding alanlariyla kesisiyor, bu nedenle skor sifir degil.

Engeller

  • Python ve native binary odakli; TypeScript/Deno SDK'si belirtilmemis
  • Ozel .cact formati ve ozel runtime nedeniyle vendor bagimliligi
  • Binary'de varsayilan acik telemetry
  • GitHub'da resmi surum yok
  • Tam fine-tuning ucretli Cactus platformuna bagli
  • Benchmark'lar uretici kaynakli, bagimsiz dogrulama yok

Ne zaman kullanılır

Uygulama offline ya da cok dusuk gecikmeyle cihaz ustunde calismak zorundaysa, bellek butcesi on MB'lar seviyesindeyse ve is dar bir tool seti uzerinde fonksiyon secmekten ya da sabit schema'ya extraction'dan ibaretse.

Ne zaman kullanılmaz

Sunucu tarafinda Claude gibi guclu bir modele zaten erisim varsa, genel akil yurutme, uzun baglam, RAG uzerinden cevap uretme veya sohbet gerekiyorsa, ya da telemetry ve ozel .cact formatina bagimlilik kabul edilemiyorsa.

Dikkat edilecekler

  • NEEDLE_TELEMETRY=0 ve DO_NOT_TRACK=1 ayarlanmadan kullanilmamali
  • Yerel LoRA fine-tuning'de confidence None donuyor
  • Sohbet ve genel akil yurutme kapasitesi bilincli olarak feda edilmis
  • Embedding kalitesi README'de olculmemis; pgvector ile karsilastirma yapmadan kullanilmamali