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.

Ling 3 Tiny Thinking ve Instant: düşünme ile çıktı bütçesi konusu için üç ayrı bilgi kutusunu karşılaştıran veya sıralayan açıklayıcı LLMTR rehber şeması.

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.

Yerel Tiny ayarları ile LLMTR erişim sözleşmesini ayırma
OrtamSeçimAnlamı
Yerel Tinyenable_thinking=trueThinking açık; aynı ağırlıklar kullanılır
Yerel Tinyenable_thinking=falseInstant; doğrudan yanıt için şablon seçimi
LLMTR eski Tiny:fastTarihsel 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.

İlgili yazılar