İçeriğe geç

Motif 3

Motif 3, LLMTR üzerinde /v1/chat/completions ile çağrılır. Ajan tabanlı kodlama, araç kullanımı ve terminal tabanlı sorun giderme için tasarlanmış bir metin modelidir ve şu anda ücretsiz sunulur.

ModelBağlamMaksimum çıktıGiriş / Cache okuma / Çıkış ($/1M)
motif/motif-3262.144Bağlam penceresiyle sınırlı0 / 0 / 0
Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "motif/motif-3",
"messages": [
{ "role": "user", "content": "Bu fonksiyondaki hatayı bul." }
],
"max_tokens": 8192
}'

Model metin girip metin üretir. Görsel, ses ve doküman girdisi kabul edilmez; bu tür bir parça gönderirseniz istek reddedilir.

Bu, sağlayıcının model listesindeki supports_vision bayrağının aksini söylediği bir noktadır. Ölçüm bayrağı değil davranışı esas alır: hem base64 data URL hem de uzak https:// adres biçiminde gönderilen görseller reddedildi.

Modelin ayrı bir çıktı tavanı yoktur. Sınır istem ve yanıtın toplamıdır: ikisi birlikte 262.144 token'ı aşamaz.

Pratikte bunun anlamı, uzun bir istemin cevaba daha az yer bırakmasıdır. 257.160 token'lık bir istem max_tokens: 32 ile çalışır, max_tokens: 10000 ile reddedilir.

Model yanıt vermeden önce her zaman düşünür ve bunu kapatmanın bir yolu yoktur. Gizli akıl yürütme token'ları çıktı olarak sayılır.

reasoning_effort alanı bu satırda desteklenmez. Sağlayıcı none, minimal, xhigh ve max değerlerini 400 ile reddeder; kabul ettiği low, medium ve high değerleri ise ölçümde birbirinden ayrışmadı — hatta low, high'dan daha uzun düşündü. Çalışmayan bir denetimi arayüze koymak, kullanıcıyı azalttığını sandığı düşünme token'ları için faturalandırmak olurdu.

Aynı sebeple :fast / :think sonekleri bu modelde yoktur: modeli sessizleştirdiğini sanacağınız bir sonek, gerçekte hiçbir şeyi değiştirmezdi.

tool_choice alanının auto, required ve adlandırılmış fonksiyon biçimlerinin üçü de çalışır. Model tek turda birden fazla araç çağırabilir ve role: "tool" ile geri verdiğiniz sonucu okuyup yanıt üretir. Akış (streaming) üzerinde de aynı şekilde çalışır.

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "motif/motif-3",
"messages": [
{ "role": "user", "content": "İstanbul hava durumu nedir?" }
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Bir şehrin güncel hava durumunu getirir",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}
],
"tool_choice": "required",
"max_tokens": 4096
}'

tool_choice: "none" bu modelde, istekte tools alanı varken reddedilir. Sebebi sağlayıcının o değeri uygulamaması: araç çağrısını bastırmak yerine ham şablonu yanıt metnine yazıyor ve finish_reason alanı stop dönüyor — yani HTTP 200, boş tool_calls ve kullanılamaz bir cevap.

LLMTR bu isteği sağlayıcıya göndermeden durdurur ve ne yapmanız gerektiğini söyleyen bir 400 döndürür; istek kotaya girmediği için ücretsiz hakkınızdan da düşmez. Araçların kullanılmasını istemiyorsanız isteğe tools alanını hiç eklemeyin — tools yokken tool_choice: "none" zararsızdır ve reddedilmez.

response_format alanının json_object ve json_schema biçimleri desteklenir. strict: true ile verilen şema gerçekten zorlanır: şemanın yasakladığı anahtarları ve yanlış tipte bir değeri isteyen bir istemde bile model şemaya uydu.

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "motif/motif-3",
"messages": [
{ "role": "user", "content": "Ankara hakkında bilgi ver." }
],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "city_facts",
"strict": true,
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"city": { "type": "string" },
"population": { "type": "integer" }
},
"required": ["city", "population"]
}
}
},
"max_tokens": 1024
}'

Tekrarlanan istem ön eklerinde usage.prompt_tokens_details.cached_tokens alanı dolu gelir. Aynı ön eki paylaşan ikinci ve sonraki çağrılarda ölçülen cache okuması, ön ekin neredeyse tamamını kapsadı.

Bu satır bugün ücretsiz olduğu için cache faturaya yansımaz, ancak kullanım kayıtlarında görünür.

n alanı desteklenmez ve 400 ile reddedilir; tek istekte birden fazla tamamlama alamazsınız.

Aşağıdaki alanların hepsi kabul edilir, ama kabul edilmek çalışmak demek değildir — bu modelin reasoning_effort alanını kabul edip yok sayması bunun kanıtı. Ölçülebilenler ölçüldü:

AlanÖlçülen davranış
temperatureGerçekten etkiliyor: 2 değerinde çıktı anlamsızlaşıyor, 0 değerinde tutarlı kalıyor. Ancak belirlenimci değildirtemperature: 0 ile arka arkaya üç çağrı üç farklı yanıt verdi.
seedTekrarlanabilirlik sağlamıyor: aynı seed ile iki özdeş istek farklı yanıt döndürdü.
logprobsDolu bir blok dönüyor, ancak içindeki token'lar görünen yanıt değil akıl yürütme metni.
stopUygulanıyor — ama aşağıdaki uyarıyı okuyun.
top_pGerçekten etkiliyor. Karşıtlıkla ölçüldü: tek başına temperature: 2 çıktıyı anlamsızlaştırıyor, aynı istekte top_p: 0.01 ile çıktı tutarlı kalıyor; top_p: 1 ise beklendiği gibi hiçbir şey değiştirmiyor.
frequency_penalty, presence_penaltyKabul ediliyor; etkisi ölçülmedi, bu sayfa bu alanlar hakkında bir iddiada bulunmuyor.

Bu modelde stop dizisi, önce çalışan gizli akıl yürütme metniyle eşleşiyor. Model düşünürken stop kelimesini kullanırsa üretim orada duruyor ve görünen yanıt hiç başlamıyor.

"bire ondan saya" istemi, stop yok -> "one two three ... ten"
aynı istem, stop: ["five"] -> content: "" finish_reason: "stop"
aynı istem, stop: ["seven"] -> content: "" finish_reason: "stop"
aynı istem, stop: ["ZZQQ"] -> "one two three ... ten"

Yani HTTP 200, finish_reason: "stop" ve boş bir yanıt alırsınız. Modelin düşünürken kullanmayacağından emin olmadığınız bir stop dizisi göndermeyin; en güvenlisi bu modelde stop kullanmamaktır.

Bağlam penceresi 262.144 token'dır ve yukarıda anlatıldığı gibi çıktı da bu pencerenin içindedir.

Model ücretsiz sunulduğu için bir istek kotasına tabidir. Kota token değil istek sayar: kaç token harcadığınızdan bağımsız olarak her çağrı bir hak tüketir.

Başarısız sonuçlanan çağrılar da hak tüketebilir. Bağlam penceresini aşan bir istem, sağlayıcıdan dönen bir hata veya bu satırda desteklenmeyen bir parametre (örneğin reasoning_effort) hakkınıza mal olabilir; yeniden deneme döngülerinde bunu hesaba katın.

İsteğiniz hiç kabul edilmeden reddedilirse hak tüketilmez: geçersiz gövde, modelin kabul etmediği bir içerik türü (görsel, ses, doküman) ve araçlarla birlikte gönderilen tool_choice: "none" bu gruba girer.

Pencere kayandır, gece yarısı sıfırlanmaz: harcadığınız her hak, kendi isteğinin üzerinden 24 saat geçtiğinde tek tek geri gelir. Kotaya takıldığınızda yeni günü beklemeniz gerekmez; yanıttaki Retry-After başlığı ilk hakkın ne zaman açılacağını söyler. Ölçümlü modelleriniz bu kotadan etkilenmez.

İstekler yurt dışındaki üçüncü taraf altyapıda işlenir ve bu satır için sıfır veri saklama (zero data retention) garantisi verilmemektedir. Hassas veriyi bu modele göndermeyin.