deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Janus, yerel GGUF modellerini tek bir Go binary'sinden OpenAI uyumlu API ile çalıştırıyor

Janus, GGUF modellerini Vulkan üzerinden veya CPU'da yerel olarak çalıştıran, Python, Docker veya Ollama'ya ihtiyaç duymadan OpenAI uyumlu bir API ve web arayüzü sunan tek bir Go binary'si.

Janus, yerel GGUF modellerini tek bir Go binary'sinden OpenAI uyumlu API ile çalıştırıyor

Go ile yazılmış yerel bir LLM sunucusu olan Janus, Show HN gönderisiyle Hacker News'in ana sayfasına ulaştı. Öne çıkardığı nokta paketleme: derlenmiş tek bir binary, GGUF model dosyalarını GPU'nuza veya CPU'nuza yükler, OpenAI uyumlu bir API üzerinden sunar ve bir web arayüzüyle birlikte gelir. Projenin GitHub README'sine göre, olağan yerel yapay zeka ön koşullarına — Python runtime'ı, container kurulumu veya Ollama kurulumu — gerek yoktur; ancak halihazırda Ollama çalıştırıyorsanız arka uç olarak hizmet verebilir. Belirtilen tasarım ayrımı şudur: model ne yapılacağına karar verirken Go, çıkarımı, istek yönlendirmesini ve araç yürütmeyi üstlenir ve her şey makinede kalır.

Modelleri nasıl çalıştırıyor

Çıkarım, Vulkan'a karşı derlenmiş llama.cpp üzerinden yürütülüyor; README'ye göre bu, AMD, Intel ve NVIDIA GPU'larını kapsıyor ve uygun bir GPU yoksa CPU'ya geri düşüyor. Yapılandırma bir .env dosyasında yaşıyor: dosyayı bir .gguf modeline yönlendiriyor, bir arka uç (vulkan, cpu veya ollama) seçiyorsunuz; ayrıca GPU katman aktarımını ayarlayabilirsiniz — varsayılan olan -1 tüm katmanları GPU'ya yerleştirir — buna ek olarak varsayılanı 9216 MiB olan bir VRAM bütçe ipucu ve 4096 token'lık bir yanıt sınırı var. Modeller genellikle diskte 2–8 GB yer kaplıyor; binary ve llama kütüphanesi için yaklaşık 50 MB daha gerekiyor. Paketle gelen bir indirici yardımcı programı GGUF dosyalarını Hugging Face'ten çekiyor; README'deki örnek, Llama-3.2-3B-Instruct'un Q8_0 quant sürümünü indiriyor.

API ve çevresindeki araçlar

OpenAI uyumlu arayüz; streaming ile chat completion'ları ve bir model listesini içeriyor, böylece OpenAI protokolünü konuşan herhangi bir istemci — README Cursor ve Cline'ı örnek olarak veriyor — varsayılan olarak 8990 portunu dinleyen yerel sunucuyu hedefleyebilir ve yerel modelleri herhangi bir endpoint gibi kullanabilir. Chat'in ötesinde sunucu; araçları listelemek ve çağırmak, README'nin ReAct kernel dediği şeyi bir görev üzerinde çalıştırmak ve 50 MB'a kadar dosya yüklemek için endpoint'ler sunuyor.

Yerleşik araç seti bir model sunucusu için geniş: dosya okuma ve yazma, shell komutları yürütme, matematik, Word belgesi içe ve dışa aktarma, PDF çıktısı ve Tesseract üzerinden OCR. Web arayüzü ise Asistan ve Chat modları, araç çağrılarını canlı bir günlüğe aktaran bir Kernel sekmesi, modelin yeniden kullanabileceği bilgileri saklamak için bir Memory sekmesi ve topluluk araçlarını JSON'dan yüklemek için bir Skills sekmesi ekliyor. Modeller arayüzden yeniden başlatma olmadan değiştirilebiliyor ve iki güvenlik kolcuğu var: araçların içindeki shell komutlarını engelleyen bir güvenli mod ve admin endpoint'lerinde isteğe bağlı Basic Auth.

Platformlar ve kaba kenarlar

Windows 10/11 ana platform; Linux ve macOS da belgelenmiş durumda, macOS ise Vulkan desteği donanıma göre değiştiğinden CPU arka ucuyla sınırlı. Derleme Go 1.22+ gerektiriyor ve Windows derleme betiği, çalıştırılabilir dosyayı derlemeden önce önceden derlenmiş llama.cpp Vulkan kütüphanelerini indiriyor. Arka uç olarak Ollama ayarlanırsa Janus, chat isteklerini ona vekil olarak iletirken araçları ve web arayüzü çalışmaya devam eder.

README ayrıca kendi çerçevesine göre tekrarlanan deneyimlerden oluşturulmuş açık sözlü bir tuzaklar tablosu da içeriyor: 8990 portunu tutan eski süreçler, yanlış dizinden alınan .env dosyaları, başka bir klasörden başlatıldığında bozulan model yolları ve ağırlıklar belleğe yüklenirken 10–60 saniye süren ilk yanıtlar.

Neden önemli

Yerel LLM yığınlarının çoğu hâlâ kullanıcılardan parçaları bir araya getirmesini istiyor: bir Python ortamı veya container imajı, bir model sunucusu ve bunları bağlayan bir istemci. Bunu tek bir binary artı bir model dosyasına indirgemek, kurulum sürtünmesinin en büyük kaynağını ortadan kaldırıyor ve depoda belgelenen air-gapped kurulum yolu, kilitli ortamlara yönelik bir niyeti gösteriyor. OpenAI uyumlu API pratik yapıştırıcıdır — fiili standart olduğu için Janus, istemci tarafında değişiklik gerektirmeden mevcut araçlara uyuyor. CUDA yerine Vulkan'ı seçmek ayrıca AMD ve Intel GPU'larını sonradan akla gelen bir seçenek olmaktan çıkarıp birinci sınıf vatandaşlar yapıyor. Bu alan kalabalık; Ollama, llama.cpp'nin kendi sunucusu ve LM Studio benzer zeminleri kapsıyor, ancak Janus'un bahsi mimari: yönlendirmeyi, araçları, belleği ve bir agent döngüsünü sunucunun kendisine taşıyor, böylece bir curl betiğinden bir editör eklentisine kadar her istemci bu yetenekleri devralıyor.

  • #local-llm
  • #gguf
  • #vulkan
  • #go
  • #openai-api

İlgili yazılar