deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Ollama'nın küçük varsayılan context penceresi prompt'ları sessizce kesiyor; llm-doctor yerel kurulumları teşhis ediyor

Bir dev.to yazısı, Ollama 0.34.4'ün qwen3:1.7b modelini desteklenen 40.960 token yerine 4.096 tokenlık bir pencereyle sunduğunu ve uzun bir prompt'un büyük kısmını sessizce düşürdüğünü anlatıyor. Yazar, bu tür sorunları yakalamak için llm-doctor'u geliştirdi.

Ollama'nın küçük varsayılan context penceresi prompt'ları sessizce kesiyor; llm-doctor yerel kurulumları teşhis ediyor

Ne oldu

Bir geliştirici, dev.to'da yayımladığı yazıda MacBook Air üzerinde qwen3:1.7b modelini çalıştıran Ollama 0.34.4'ün, model 40.960 token desteklemesine rağmen modeli 4.096 tokenlık bir context penceresiyle sunduğunu bildiriyor. Yazar yaklaşık 7.000 tokenlık bir prompt gönderdiğinde API normal bir HTTP 200 yanıtı döndürdü — ama model yalnızca son 2.050 token'ı işlemişti. Ne bir hata fırlatıldı ne de bir uyarı basıldı.

Bu sessiz başarısızlık, yazarı yerel LLM kurulumlarını inceleyen ve aksi halde fark edilmeyecek yapılandırma sorunlarını raporlayan açık kaynaklı bir tanı aracı olan llm-doctor'u geliştirmeye itti.

Başarısızlığın neden kolay gözden kaçtığı

Runtime seviyesindeki context kesilmesini dışarıdan tespit etmek zordur. İstek başarılı olur, model tutarlı yanıt verir ve çıktıda girdinin büyük kısmının atıldığına dair hiçbir işaret bulunmaz. dev.to yazısına göre Ollama küçük bir varsayılan context penceresi uyguluyor ve kodlama agent'larının genellikle hedeflediği OpenAI uyumlu endpoint'in bunu istek başına yükseltme yolu yok. Bu nedenle birkaç dosyayı yerel modele besleyen bir agent, her şey hat üzerinden sağlıklı görünürken prompt'unun büyük kısmını kaybedebilir.

Tarayıcının kontrol ettiği şeyler

Context boyutunun ötesinde, yazıda yerel model kurulumlarında biriken başka sorunlar da sıralanıyor:

  • Yinelenen model ağırlıkları. Her runtime aynı GGUF dosyasının kendi kopyasını saklar ve Ollama kopyasını model adıyla değil sha256 hash'iyle adlandırır; bu yüzden LM Studio'nun özdeş çok gigabaytlık bir dosya tuttuğunu görmenin bariz bir yolu yoktur.
  • Güncel olmayan chat şablonları. Quantize edenler bazen bir sürümden sonra bozuk chat şablonlarını onarır, ama daha önce indirilen dosyalar hatalı sürümü korur. Tool çağrıları daha sonra zayıf bir modeli andıran biçimde başarısız olabilir — oysa bu düzeltilebilir bir paketleme hatasıdır.
  • Yukarıda anlatıldığı gibi context penceresi varsayılanları.
  • Depolamaya kilitlenme. Ollama'nın blob'ları okunabilir adlar taşımadığından başka bir runtime'a geçmek genellikle her modeli yeniden indirmek anlamına gelir.

llm-doctor komutu tespit edilen tüm model depolarını tarar, llm-doctor fix yinelenen dosyaları temizlemeyi önizler ve llm-doctor fix --yes değişiklikleri uygular. Yazarın demo kurulumunda, Ollama ve LM Studio aynı GGUF'ü bir de yetim blob'la birlikte tutuyordu; düzeltme LM Studio kopyasını Ollama blob'una giden bir symlink ile değiştirdi ve yetimi kaldırarak 140 MB kazandırdı. Her değişiklik, kullanıcının ana dizini altındaki bir JSONL log dosyasına kaydedilir. Bir unbundle komutu da Ollama modellerini llama.cpp'ye sunabilir.

Endpoint sondası

Yazarın en çok güvendiği özellik, çalışan bir sunucuya karşı llm-doctor endpoint ile çağrılan endpoint sondası. Context uzunluğunu, tool çağrılarını, paralel tool çağrılarını, streaming tool çağrılarını, JSON şema çıktısını ve think etiketlerini doğruluyor, ardından başarısız her kontrol için somut bir öneri yazdırıyor. Projeyi başlatan hatalı yapılandırılmış Ollama kurulumuna yönlendirildiğinde, modelin duyurduğu 40.960 tokena karşı 4.096 etkin token bildirdi ve context kontrolünü başarısız olarak işaretledi.

Uyarılar

Araç Python 3.10 veya daha yeni bir sürüm gerektiriyor ve henüz PyPI'da yayımlanmadığı için doğrudan GitHub deposundan kurulmalı. Yazarın testleri çoğunlukla macOS üzerinde Ollama ile yapılmış; yazar, Linux ve Windows kullanıcılarından ve tarayıcının henüz tanımadığı model depolarına dair ayrıntıları açıkça talep ediyor. Proje MIT lisansıyla yayımlanıyor.

Neden önemli

Yerel LLM yığınları genellikle birkaç bağımsız parçadan — runtime'lardan, quantize edilmiş ağırlıklardan, chat şablonlarından ve agent istemcilerinden — oluşur ve aralarındaki arayüzler sessizce başarısız olur. Bir context uyumsuzluğu hiçbir şeyi çökertmez; sadece yanıtları sessizce kötüleştirir ve kullanıcılar da bunu doğal olarak modele yükler. Kodlama agent'larını yerel bir OpenAI uyumlu endpoint'e bağlayan herkes için, etkin context uzunluğunu ve gerçek tool çağrısı desteğini raporlayan deterministik bir sondanın varlığı, tahmin yürütmenin yerini doğrulanabilir bir sonuçla alıyor. Hikaye ayrıca yerel ekosistemdeki daha geniş bir boşluğu gözler önüne seriyor: barındırılan bir API fazla büyük bir isteği reddederken, yerel runtime'lar onu kırpma ve hiçbir şey söylememe eğiliminde.

  • #ollama
  • #local-llm
  • #context-window
  • #developer-tools
  • #open-source

İlgili yazılar