Entegrasyon rehberleri · 2026-08-28
Ling-3.0-Tiny yerel API: vLLM ortamı ve model kimliği
Ling-3.0-Tiny için resmî vLLM tarifini, yerel sunucu adını, emekli LLMTR kimliğini ve ilk API isteğindeki hata ayrımlarını öğrenin.
Yerel Tiny API’si neyi değiştirir?
Ling-3.0-Tiny, resmî açık ağırlıkları ve Ling desteği içeren vLLM ortamıyla kendi donanımınızda API olarak sunulabilir. Bu işlem, LLMTR’de 15 Ağustos 2026’da emekli edilen inclusionai/ling-3.0-tiny kimliğini yeniden açmaz. Yerel sunucu, kendi adresinizde çalışan ayrı bir hizmettir; kurulumunu, kapasitesini ve erişim güvenliğini siz yönetirsiniz.
Bu rehber, 28 Ağustos 2026’da incelenen kaynaklardan hazırlanmıştır. Örnekler burada donanım üzerinde çalıştırılmadı; bellek yeterliliği, hız veya başarılı model yanıtı ölçümü sunmuyoruz.
Önce doğru vLLM ortamını hazırlayın
InclusionAI model kartı, vllm-ling-v3 deposunun ling_3_0 dalını ve önceden derlenmiş bileşenlerle kurulumu tarif ediyor. Herhangi bir vLLM paketinin aynı model desteğini taşıdığını varsaymayın. Kullanılan dalın commit’ini, ağırlık revizyonunu ve bağımlılık sürümlerini kurulum kaydınızda tutun.
Aşağıdaki Bash örneği, hazır bir Linux GPU ortamını ve önceden edinilmiş BF16 ağırlık dizinini varsayar. vLLM’nin genel GPU belgeleri yerel Windows kurulumunu desteklemediğini belirtir; bu Linux tarifi, Mac veya WSL üzerinde Tiny uyumluluğu kanıtı değildir.
- Sürücü, GPU ve çalışma ortamının birbirine uygunluğunu kontrol edin.
- Ağırlık, tokenizer ve yapılandırma dosyalarını aynı revizyondan kullanın.
- MODEL_PATH değişkenine gerçek yerel dizini, LOCAL_LING_API_KEY değişkenine bu sunucuya özel sırrı verin.
Dört farklı adı birbirine karıştırmayın
Ağırlığın kaynağı, diskteki konumu ve API’nin kabul ettiği ad farklı alanlardır. vLLM’de --served-model-name istemcinin göndereceği model adını belirler. Burada resmî tarifteki auto korunuyor. Bu, LLMTR kataloğunda otomatik model seçimi veya başka bir hizmete yönlendirme talimatı değildir.
| Değer | Anlamı | Kullanıldığı yer |
|---|---|---|
| inclusionAI/Ling-3.0-tiny | Resmî ağırlık deposu | Ağırlık kaynağını seçerken |
| MODEL_PATH | Yerel ağırlık dizini | vllm serve komutunda |
| auto | Bu sunucunun servis adı | İstek gövdesinin model alanında |
| inclusionai/ling-3.0-tiny | Emekli LLMTR kimliği | Eski LLMTR entegrasyonlarında |
Sunucuyu yalnız yerel bağlantıya açın
Model kartındaki vLLM ayarlarına yerel dinleme adresi ve anahtar kontrolü eklenmiştir. --trust-remote-code, model koduna güven verilmesini gerektirir; kaynağını ve revizyonunu incelemeden kullanmayın. Dizin kontrolü, yanlışlıkla bir depo adını yerel yol sanmanızı da önler.
127.0.0.1 yalnız HTTP dinleme kapsamını daraltır. İç iletişim portları için güvenlik duvarı uygulayın. --api-key tek başına bütün sunucu uçlarını korumaz; bu komutu doğrudan internete açık üretim kurulumu saymayın.
Hazırlanmış Linux ortamında yerel vLLM sunucusu
set -eu
: "${MODEL_PATH:?Set MODEL_PATH to the reviewed local BF16 directory}"
: "${LOCAL_LING_API_KEY:?Set an independent local API secret}"
test -d "$MODEL_PATH"
vllm serve "$MODEL_PATH" \
--host 127.0.0.1 \
--port 8000 \
--api-key "$LOCAL_LING_API_KEY" \
--trust-remote-code \
--served-model-name auto \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.85 \
--enable-prefix-caching \
--mamba-cache-mode align \
--enable-auto-tool-choice \
--tool-call-parser ling3 \
--reasoning-parser ling3
İstemcide aynı model adını gönderin
Sunucu hazır olduğunda aynı Linux ortamından aşağıdaki Python isteğini gönderebilirsiniz. Yalnız standart kütüphane kullanılır. Adres doğrudan yerel vLLM’ye gider; LLMTR_API_KEY bu sunucunun anahtarı değildir. Sunucu adını değiştirirseniz istekteki model alanını da değiştirin.
Örnekteki 1024 token sınırı ve 120 saniyelik istemci beklemesi birer deneme tercihidir; modelin azami kapasitesi veya hız garantisi değildir. Thinking ayarı chat_template_kwargs içindedir. LLMTR’ye özgü model son eklerini yerel ada eklemeyin. Çıktı bütçesi dolarsa finish_reason alanını inceleyin; bu tek başına bağlantının bozuk olduğunu göstermez.
Sentetik mesaj gönderir; istem veya yanıt içeriğini yazdırmaz
import json
import os
from urllib.request import Request, urlopen
payload = {
"model": "auto",
"messages": [{"role": "user", "content": "Compute 17 times 23."}],
"chat_template_kwargs": {"enable_thinking": True},
"temperature": 1.0,
"top_p": 0.95,
"top_k": 20,
"max_tokens": 1024,
"stream": False,
}
request = Request(
"http://127.0.0.1:8000/v1/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers={
"Content-Type": "application/json",
"Authorization": "Bearer " + os.environ["LOCAL_LING_API_KEY"],
},
method="POST",
)
with urlopen(request, timeout=120) as response:
result = json.load(response)
print({
"model": result.get("model"),
"finish_reason": result["choices"][0].get("finish_reason"),
})
Parser ve NEXTN tariflerini birleştirmeyin
Bu sunucu örneği, Hugging Face kartının vLLM bölümündeki ling3 araç ve reasoning parser çiftini izler. Aynı kartın SGLang örneğiyle SGLang’in kendi Tiny rehberi arasında ayrışma vardır: SGLang rehberi deepseek-r1 ve glm45 parser adlarını kullanır, ayrıca Tiny için NEXTN tarifini dışlar.
Bu yüzden SGLang bayraklarını vLLM komutuna taşımayın. Bilinmeyen parser hatasında seçenekleri rastgele değiştirmek yerine çalışan vLLM executable’ının beklediğiniz ortamdan geldiğini kontrol edin. Bu rehber NEXTN, YaRN veya başka bir uzun bağlam ayarını vLLM örneğine eklemiyor.
İlk hatayı doğru katmanda çözün
Bağlantı reddediliyorsa önce sunucunun hazır olup olmadığına ve porta bakın. Kimlik doğrulama hatasında yerel anahtarı, model bulunamadığında servis adıyla istek gövdesini karşılaştırın. LLMTR’den model_retired alıyorsanız yerel sunucuya değil eski hizmete istek gönderiyorsunuz.
Kısa, sentetik bir mesajla başlayın; sonra bağlamı ve eşzamanlılığı ayrı ayrı artırın. Prompt ve model yanıtlarını üretim loglarına yazmayın. Yerel önbellek ayarları, LLMTR’de faturalandırılan cache indirimi değildir. LLMTR üzerinden devam etmek isteyenler için resmî halef ücretli inclusionai/ling-3.0-flash kimliğidir; geçiş ayrı bir seçimdir.
Sık sorulan sorular
Yerel API adı mutlaka inclusionai/ling-3.0-tiny mi olmalı?
Hayır. Bu tarifte --served-model-name auto kullanılır ve istemci auto gönderir. Kendi adınızı seçebilirsiniz; sunucu ve istemci aynı adı kullanmalıdır.
Tarifin tek GPU kullanması her GPU’ya sığacağı anlamına gelir mi?
Hayır. Ağırlıklar, çalışma belleği, bağlam ve eşzamanlı istekler birlikte değerlendirilmelidir. Bu rehber belirli bir GPU için asgari bellek veya performans iddiasında bulunmuyor.
Tiny emekliyse neden yerel sunucu kurulabiliyor?
Emeklilik LLMTR API erişimine ilişkindir. Resmî ağırlıkların yayımlanması ve bunları kendi ortamınızda çalıştırmanız ayrı konulardır; yerel çıkarım için LLMTR’ye istek gönderilmez.