LLMTR Nanbeige4.2 3B
Nanbeige4.2 3B, Türkiye'de barındırdığımız küçük bir sohbet modelidir. llmtr/nanbeige4-2-3b canonical model kimliği ile /v1/chat/completions üzerinden çağrılır. Kısa özetleme, sınıflandırma ve az adımlı araç çağırma akışları için uygundur.
| Özellik | Değer |
|---|---|
| Model kimliği | llmtr/nanbeige4-2-3b |
| Bağlam penceresi | 32.768 token (32K) |
| Fiyat (input / output / cache read) | 1.00 / 3.00 / 0.25 $ per 1M token |
| Görsel girdi | Yok |
| Prompt cache | Var |
| Araç çağırma | Var, yalnızca tool_choice: "auto" |
| JSON çıktısı | Yok |
| Düşünme modu | Var, varsayılan kapalı |
| Ses / video girdisi | Yok |
| Görsel üretimi | Yok |
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "llmtr/nanbeige4-2-3b", "messages": [ { "role": "system", "content": "Her zaman Turkce ve kisa cevap ver." }, { "role": "user", "content": "Bu musteri mesajini olumlu, olumsuz ya da notr olarak siniflandir: Kargo gec geldi ama urun saglam." } ], "max_tokens": 256 }'Model çoğunlukla İngilizce ve Çince eğitilmiştir. Türkçe yanıt istiyorsanız bunu sistem mesajında açıkça belirtin ve çıktıyı kendi örneklerinizle kontrol edin.
Yanıt süresi ve zaman aşımı
Bölüm başlığı “Yanıt süresi ve zaman aşımı”Yanıtlar yavaş üretilir; birkaç yüz tokenlık bir cevap dakikalar sürebilir. Uzun bir istemin ilk gönderimi de cevap başlamadan önce zaman alır. Bu yüzden:
- Kullanıcıya gösterilen yerlerde
"stream": truekullanın; cevap üretildikçe görünür. - İstemci zaman aşımını en az 300 saniye yapın. Düşünme açıksa ya da uzun yanıt bekliyorsanız daha uzun tutun.
max_tokensdeğerini işin ihtiyacı kadar verin. Göndermezseniz yanıt 4.096 tokende kesilir vefinish_reasonlengtholur.
import osfrom openai import OpenAI
client = OpenAI( base_url="https://llmtr.com/v1", api_key=os.environ["LLMTR_API_KEY"], timeout=300.0,)
stream = client.chat.completions.create( model="llmtr/nanbeige4-2-3b", messages=[ {"role": "system", "content": "Her zaman Turkce ve kisa cevap ver."}, {"role": "user", "content": "Bir faturada hangi alanlar bulunur? Uc madde yaz."}, ], max_tokens=512, stream=True,)for chunk in stream: if chunk.choices and chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="", flush=True)Zaman aşımı ayarlarının ayrıntısı için Zaman aşımları sayfasına bakın.
Düşünme modu varsayılan kapalıdır
Bölüm başlığı “Düşünme modu varsayılan kapalıdır”Düz bir istekte model doğrudan yanıt verir; akıl yürütme adımı çalışmaz ve ek token harcanmaz. Düşünmeyi açmanın iki yolu vardır:
// Model kimliğine :think suffix'i{ "model": "llmtr/nanbeige4-2-3b:think", "messages": [{ "role": "user", "content": "Bu iki tarihin arasinda kac is gunu var?" }], "max_tokens": 4096 }
// Veya istek gövdesinde reasoning alanı{ "model": "llmtr/nanbeige4-2-3b", "reasoning": true, "messages": [{ "role": "user", "content": "Bu iki tarihin arasinda kac is gunu var?" }], "max_tokens": 4096 }Düşünme açıkken akıl yürütme message.reasoning_content alanında döner ve ürettiği tokenlar max_tokens bütçenizden harcanır. Bütçe küçükse model cevaba geçemeden durur ve finish_reason length olur; bu durumda content boş gelebilir ya da yarıda kalan akıl yürütmeyi taşıyabilir. Yanıtı kullanmadan önce content alanına değil finish_reason değerine bakın. Düşünme yanıt süresini de belirgin biçimde uzatır; yalnızca beklemenin sorun olmadığı işlerde açın.
reasoning_effort bu modelde desteklenmez ve 400 döner; düşünme yalnızca açılıp kapanır. Akıl yürütme tokenları output olarak faturalanır ve completion_tokens içinde zaten sayılıdır.
Araç çağırma
Bölüm başlığı “Araç çağırma”Model standart OpenAI tools şemasını destekler ve gerçek tool_calls döndürür. Bu modelde araç çağrıları yalnızca düşünme açıkken güvenilirdir. Bu yüzden tools gönderdiğiniz istekte düşünme kendiliğinden açılır; ayrıca bir şey yapmanız gerekmez. Bu, isteğe kısa bir akıl yürütme adımı ekler ve o tokenlar output olarak faturalanır.
{ "model": "llmtr/nanbeige4-2-3b", "max_tokens": 2048, "messages": [{ "role": "user", "content": "Istanbul'da hava nasil?" }], "tools": [ { "type": "function", "function": { "name": "get_weather", "description": "Bir sehrin hava durumunu getirir", "parameters": { "type": "object", "properties": { "city": { "type": "string" } }, "required": ["city"] } } } ]}{ "choices": [ { "message": { "role": "assistant", "content": "", "tool_calls": [ { "id": "call_1", "type": "function", "function": { "name": "get_weather", "arguments": "{\"city\":\"Istanbul\"}" } } ] }, "finish_reason": "tool_calls" } ]}Araç çağırırken uymanız gereken kurallar:
tool_choiceiçin yalnızcaautokullanılabilir ya da alan hiç gönderilmez.requiredya da adıyla seçilmiş bir fonksiyon 400invalid_requestdöner. Aracın ne zaman kullanılacağını istemde söyleyin.- Araçları kapatmak için
tool_choice: "none"göndermeyin;toolsalanını istekten çıkarın. Araçlar ekliykennone400unsupported_inputdöner. :fast,reasoning: falseya dachat_template_kwargs.enable_thinking: falseile düşünmeyi kapatıptoolsgönderen istek 400invalid_requestdöner.- Tek yanıtta birden fazla araç çağrısı gelebilir, garanti değildir; istemciniz
tool_callsdizisinin tamamını işlemelidir.
JSON çıktısı
Bölüm başlığı “JSON çıktısı”response_format ile JSON nesnesi ya da JSON şeması bu modelde desteklenmez ve istek 400 invalid_request döner. Yapılandırılmış veri gerekiyorsa araç çağırmayı kullanın: fonksiyonun parameters şeması, modelin dolduracağı alanları tanımlar. { "type": "text" } kabul edilir.
Prompt cache
Bölüm başlığı “Prompt cache”Tekrar eden istem başlangıçları (sabit sistem mesajı, sohbet geçmişi) önbellekten karşılanabilir. Önbellekten gelen tokenlar prompt_tokens_details.cached_tokens alanında raporlanır ve input yerine cache read tarifesinden faturalanır:
"usage": { "prompt_tokens": 4401, "completion_tokens": 4, "total_tokens": 4405, "prompt_tokens_details": { "cached_tokens": 4386 }}Bu örnekte 4386 token 0.25 $/1M, kalan 15 token 1.00 $/1M üzerinden ücretlendirilir. Önbellekten gelen önek işlenmeyi de beklemediği için yanıt daha erken başlar. Sabit içeriği mesaj dizisinin başında, değişen içeriği sonunda tutun.
Önbellek isabeti garanti değildir: bir önek ilk gönderimde isabet etmez, sonraki tekrarlarda edebilir. Faturalama her zaman cached_tokens alanında bildirilen gerçek değere göre yapılır.
Bağlam penceresi
Bölüm başlığı “Bağlam penceresi”Bağlam penceresi istek başına 32.768 tokendır ve istem ile cevabı birlikte kapsar. İstem bu pencereden uzunsa istek 400 invalid_request döner:
{ "error": { "message": "This request uses 40,040 input tokens, more than the 32,768-token window shared by the prompt and the answer. Shorten the conversation.", "type": "invalid_request" }}Uzun sohbetlerde eski mesajları kısaltın ya da özetleyin. İstem ile yanıt aynı pencereyi paylaştığından uzun bir istemin yanında uzun bir yanıt beklemeyin.
Girdi türü
Bölüm başlığı “Girdi türü”Model yalnızca metin kabul eder. Mesaj içinde image_url, ses, video veya dosya parçası gönderirseniz istek 400 unsupported_input döner. Görsel okuması gereken işler için katalogdaki görsel girdi destekleyen modellerden birini seçin.