Entegrasyon rehberleri · 2026-08-28
Ling 3 Tiny Thinking ve Instant: düşünme ile çıktı bütçesi
Ling 3 Tiny yerel kullanımında Thinking ve Instant nasıl seçilir? Düşünme anahtarını, çıktı bütçesini, kesilen yanıtları ve emekli LLMTR kimliğini ayırın.
Thinking ve Instant neyi değiştirir?
Ling 3 Tiny, aynı açık ağırlıklarla düşünmeli ve doğrudan yanıt modlarında kullanılabilir. Thinking için yerel sohbet şablonuna enable_thinking=true, Instant olarak anılan doğrudan yanıt davranışı için false verilir. Bu seçim ayrı bir model indirmek anlamına gelmez; düşünmenin açık olması da her soruda daha doğru sonuç garantisi değildir.
28 Ağustos 2026 itibarıyla InclusionAI’nin MIT lisanslı Tiny ağırlıkları yayımlanmaya devam ediyor. Buna karşılık LLMTR’de inclusionai/ling-3.0-tiny kimliği 15 Ağustos 2026’dan beri emeklidir ve model_retired hatası döndürür. Yerel çalışma bundan ayrıdır. LLMTR’nin belirttiği halef ücretli inclusionai/ling-3.0-flash modelidir; Tiny çağrısı sessizce ona aktarılmaz.
Modu tek yerde belirleyin
Resmî sohbet şablonu, seçenek verilmediğinde düşünmeyi açar. İlk sistem mesajında detailed thinking on veya detailed thinking off ifadesi zaten bulunuyorsa bu metni korur. Bu nedenle elle yazılmış eski bir mod talimatını yeni enable_thinking ayarıyla birlikte taşımayın; çelişen iki kontrol, beklemediğiniz bir istem oluşturabilir.
| Ortam | Seçim | Anlamı |
|---|---|---|
| Yerel Tiny | enable_thinking=true | Thinking açık; aynı ağırlıklar kullanılır |
| Yerel Tiny | enable_thinking=false | Instant; doğrudan yanıt için şablon seçimi |
| LLMTR eski Tiny | :fast | Tarihsel sözleşme; emekli kimliği yeniden açmaz |
| LLMTR Flash | :none veya reasoning_effort=none | Ücretli halefte düşünmeyi kapatma seçimi |
Çıktı bütçesi yalnızca görünen cevap değildir
vLLM’de max_tokens, üretilecek çıktı dizisinin üst sınırıdır. Düşünme sırasında üretilen tokenlar da bu sınırı tüketebileceği için alanı yalnızca kullanıcıya gösterilecek cevabın uzunluğu gibi yorumlamayın. Kısa bir nihai cevap isteseniz bile Thinking daha önce bütçeyi kullanabilir. Düşünmeyi arayüzde gizlemek bu üretimi ortadan kaldırmaz.
Aşağıdaki 2048 değeri örnek bir deneme bütçesidir; Tiny’nin azami kapasitesi veya garanti edilmiş cevap payı değildir. Nihai cevabın biçimini istemde belirtin, toplam üretim sınırını ayrıca ayarlayın. Genel vLLM belgelerinde ayrı düşünme bütçesi seçenekleri bulunması, seçtiğiniz Ling dalının bunları desteklediğini kanıtlamaz. Destek doğrulanmadan örneğe eklemeyin.
Yerel vLLM için tek istek örneği
Bu Python örneği, resmî model kartındaki ling_3_0 dalına dayanan vLLM tarifinin kurulmuş olduğunu, sunucunun auto adıyla hizmet verdiğini ve ling3 düşünme ayrıştırıcısını kullandığını varsayar. LING_LOCAL_BASE_URL tam yerel API tabanıdır; örneğin http://127.0.0.1:8000/v1. Kimlik doğrulama açıksa LING_LOCAL_API_KEY kullanın. Bunlar LLMTR ayarları değildir; kimlik doğrulamasız sunucuyu dış ağa açmayın.
Örnek çalıştırılmadı; beklenen model yanıtı uydurulmadı. Instant denemesinde yalnızca enable_thinking değerini False yapın. HTTP hataları uygulamaya hata olarak ulaşır; başarılı yanıtta da eksiklik ayrıca kontrol edilir.
Yerel sunucuya istek; içerik yerine yalnızca durum ve kullanım bilgisi yazdırılır
import json
import os
from urllib.request import Request, urlopen
base = os.environ.get(
"LING_LOCAL_BASE_URL", "http://127.0.0.1:8000/v1"
).rstrip("/")
headers = {"Content-Type": "application/json"}
key = os.environ.get("LING_LOCAL_API_KEY")
if key:
headers["Authorization"] = f"Bearer {key}"
payload = {
"model": "auto",
"messages": [{"role": "user", "content": "Calculate 17 * 23. Return only the number."}],
"chat_template_kwargs": {"enable_thinking": True},
"temperature": 1.0,
"top_p": 0.95,
"top_k": 20,
"max_tokens": 2048,
"stream": False
}
request = Request(
base + "/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers=headers,
method="POST"
)
with urlopen(request, timeout=120) as response:
result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") == "length":
raise RuntimeError("Generation limit reached; review the budget.")
answer = choice["message"].get("content")
if not isinstance(answer, str) or not answer.strip():
raise RuntimeError("No final answer; check the template and parser.")
print({"finish_reason": choice.get("finish_reason"), "usage": result.get("usage")})
Kesilmiş ve boş yanıtları ayırın
finish_reason=length gördüğünüzde sonucu tamamlanmış kabul etmeyin. Önce işin kapsamını küçültün veya belirlediğiniz kaynak sınırları içinde bütçeyi artırın. Aynı isteği sınırsızca tekrarlamak yerine deneme sayısını sınırlayın. Boş content ise tek başına neden söylemez: düşünme bütçeyi tüketmiş, ayrıştırıcı yanlış seçilmiş veya istem şablonu uyumsuz olabilir.
Güncel vLLM belgelerinde düşünme alanının reasoning_content adından reasoning adına geçtiği belirtiliyor. Sadece eski alanın boş olmasına bakarak düşünmenin kapandığı sonucuna varmayın. Kullanılan sunucu sürümünü kontrol edin. Hugging Face ile SGLang tariflerindeki ayrıştırıcı ve NEXTN ayarları da aynı değildir; farklı tariflerin parçalarını birleştirmeyin.
Kararı kendi işinizin ölçütleriyle verin
Kısa sınıflandırma, metinden tarih çıkarma ve birden fazla koşullu plan hazırlama gibi farklı işlerden küçük bir değerlendirme kümesi oluşturun. Her işte kabul edilebilir cevabı önceden tanımlayın. İki modu aynı model sürümü ve aynı örnekleme ayarlarıyla karşılaştırın; tek bir başarılı cevapla genel karar vermeyin.
- Doğruluğu, biçime uyumu ve kesilme oranını ayrı değerlendirin.
- Süreyi kendi donanımınızda ölçün; kullanım tokenlarını karakter sayısından tahmin etmeyin.
- Üretim loglarına istem veya yanıt yazmayın; mod, hata türü ve mevcut kullanım sayaçlarıyla yetinin.
Sık sorulan sorular
Instant için başka bir Tiny modeli indirmeli miyim?
Hayır. Buradaki ayrım aynı ağırlıkların sohbet şablonuyla nasıl çağrıldığıdır. Ancak yerel sunucunun seçtiğiniz şablonu ve enable_thinking alanını gerçekten uyguladığını kontrol etmelisiniz; yalnızca arayüz düğmesinin değişmesi yeterli değildir.
Düşünmeyi kapatmak cevabı kesin hızlandırır mı?
Belirli bir gecikme garantisi verilemez. İşin uzunluğu, donanım ve eşzamanlı istekler de süreyi etkiler. Kendi iş yükünüzde tamamlanmış ve doğru cevapların süresini karşılaştırın; kesilmiş hızlı cevabı başarılı saymayın.
LLMTR’de Tiny kimliğine enable_thinking göndersem çalışır mı?
Hayır. Düşünme ayarı emekli erişim yolunu yeniden açmaz. Yerel ağırlıkları çalıştırmak ayrı bir seçenektir. LLMTR’de ücretli Flash’a geçiş yapacaksanız güncel model kimliğini, fiyatı ve desteklenen düşünme ayarlarını birlikte değerlendirin.