Temel kılavuzlar
Kararlar
Bir karar modelinden tipli olasılıklar, seçimler ve puanlar alın
POST /v1/systemone, bir state değerini adlandırılmış sorulara göre değerlendirir ve soru başına bir tipli yanıt döndürür. Yanıt senkron bir JSON'dır: kodunuzun karşılaştırabileceği ve dallanabileceği bir olasılık, seçenek adı veya puan. Üretilmiş metin döndürmez.
Kararlar mı, sohbet mi?
| Kararları şu durumlarda kullanın | Sohbeti şu durumlarda kullanın |
|---|---|
| Kodunuzun işlem yapmak için bir sayıya veya etikete ihtiyacı olduğunda | Bir kişi veya başka bir model yanıtı okuduğunda |
| Bir isteği yönlendirmeniz, sınıflandırmanız veya kısıtlamanız gerektiğinde: iade mi değil mi, hangi ekip, ne kadar acil | Açıklamalara, özetlere veya taslak metinlere ihtiyacınız olduğunda |
| Tek bir çağrıda aynı girdi hakkında birkaç sabit soru sorduğunuzda | Araçlara, akışa (streaming), görsellere veya çok turlu mesajlara ihtiyacınız olduğunda |
Karar uç noktası messages, tools, stream veya diğer sohbet kontrollerini kabul etmez ve Batch içinde kullanılamaz. Ana sohbet modelinizi ayrı olarak yapılandırılmış halde tutun.
Bir model seçin
curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
-H "Authorization: Bearer sk-your-api-key"Ayrıca category=decision ile filtreleme yapabilirsiniz. İstek göndermeden önce seçilen model için GET /v1/models/{model} uç noktasını okuyun ve model kimliğini (ID) açıkça gönderin. Bu sayfadaki örnekler jev-1.13 kullanmaktadır.
İstek yapısı
| Alan | Tür | Notlar |
|---|---|---|
model | string | Karar modeli kimliği |
state | string, JSON object, or JSON array | Değerlendirilecek girdi; örneğin bir destek talebi, transkript veya kayıt |
questions | object | En az bir soru. Her anahtar soru adınızdır; her değer type, instructions ve criteria içerir |
instructions ve her kriter ayrıca bir string, JSON nesnesi veya JSON dizisi kabul eder. İstek, bilinmeyen alanları reddeder.
type | criteria | Yanıt |
|---|---|---|
noul | İsteğe bağlı. Hem true hem de false rehberliği içeren bir nesne | noul: ifadenin doğru olma olasılığı (0 ile 1 arası) |
choice | Zorunlu. Her biri rehberliğe veya null değerine eşlenmiş 1–255 seçenek adından oluşan bir nesne | choice: seçenek adlarınızdan biri. probabilities ve confidence içerebilir |
score | Zorunlu. 2–10 seviye açıklamasından oluşan sıralı bir dizi | score: 0'dan son dizi indeksine kadar bir sayı; kesirli olabilir. legend, probabilities ve confidence içerebilir |
Bir destek talebini değerlendirin
curl https://api.tokenlab.sh/v1/systemone \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-1.13",
"state": "I was charged twice. Please refund the duplicate payment.",
"questions": {
"refund_requested": {"type": "noul", "instructions": "Is a refund requested?"},
"department": {
"type": "choice", "instructions": "Which team should handle this?",
"criteria": {"refunds": "Charges and refunds", "technical": "Software bugs"}
},
"urgency": {
"type": "score", "instructions": "Rate urgency",
"criteria": ["Routine enquiry", "Money affected", "Safety emergency"]
}
}
}'Yanıt, soru adlarınızı answers altında tutar. Aşağıdaki değerler örnektir:
{
"model": "jev-1.13",
"answers": {
"refund_requested": {"type": "noul", "noul": 0.97},
"department": {"type": "choice", "choice": "refunds"},
"urgency": {"type": "score", "score": 1}
},
"usage": {"input_tokens": 96, "output_tokens": 12}
}Yanıtları kullanma
- Her soru, aynı isim altında ve aynı
typedeğerinde bir yanıt alır. - Bir
noulyanıtı bir Boolean değil, bir olasılıktır. Her işlem için kendi eşik değerinizi seçin. - Bir
choiceyanıtı her zaman gönderdiğiniz seçenek adlarından biridir. - Bir
scoreyanıtıcriteriadizinizi indeksler: yukarıdaki1değeri 'Money affected' anlamına gelir. - Kararları iadeleri, yükseltmeleri veya diğer işlemleri tetiklemeden önce kendi etiketli vakalarınızla test edin.
MCP üzerinden kullanma
TokenLab MCP sunucusu, core ve full profillerinde evaluate_decisions işlevini sunar. Önce {"category":"decision"} ile list_models ve get_model çağrılarını yapın, ardından aynı model, state ve questions değerlerini araç argümanları olarak geçin. Sonuçtan structuredContent.answers ve structuredContent.usage değerlerini okuyun. Araç senkron bir sonuç döndürür ve asenkron görev yoklaması (polling) kullanmaz.
SDK'lar üzerinden kullanma
TokenLab JavaScript SDK 0.1.2+ sürümü evaluateDecisions(body) işlevini; Python SDK 0.1.2+ sürümü ise evaluate_decisions(body) işlevini sağlar. Gövde (body), HTTP isteğiyle aynı JSON yapısındadır. Her ikisi de tipli yanıtları ve kullanım verilerini korur ve başarısız bir isteği otomatik olarak tekrar oynatmaz. Bkz. SDK'lar.
Maliyet ve yeniden denemeler
- Kararlar, yanıttaki
usage.input_tokensveusage.output_tokensdeğerleri üzerinden, modelin güncel token fiyatlarıyla ücretlendirilir. - Fiyatlar değişebilir. Fiyatı kodunuza sabit yazmak yerine modelin fiyatlandırma detaylarını veya Fiyatlandırma API'sini okuyun.
- Bir model, çıktı fiyatı sıfır olsa bile çıktı token'larını raporlayabilir.
- İstekler teslimat seçeneğinizi takip eder. Bkz. Faturalandırma ve fiyatlandırma.
- Zaman aşımı, sonucun belirsiz kalmasına neden olur. Ücretli bir istek göndermeden önce günlüklerinizden veya Konsoldan isteği kontrol edin.
Yaygın Hatalar
| Belirti | Olası neden | Çözüm |
|---|---|---|
messages veya stream gibi bir alanda 400 hatası | Sohbet alanları bu uç noktanın bir parçası değildir | Sadece model, state ve questions gönderin |
criteria üzerinde 400 hatası | Bir choice 0 veya 255'ten fazla seçeneğe sahip, bir score 2'den az veya 10'dan fazla seviyeye sahip veya bir noul nesnesi true veya false eksik | Soru tanımını düzeltin |
| İşlemler zayıf sinyallerde tetikleniyor | Bir noul olasılığı doğru veya yanlış olarak ele alındı | Test ettiğiniz bir eşik değerle karşılaştırın |
API Referansı
| Konu | Referans |
|---|---|
| Kararları Değerlendir | Kararları Değerlendir |
| Modelleri Listele | Modelleri Listele |
| Fiyatlandırma | Fiyatlandırma API'si |
| Faturalandırma ve Fiyatlandırma | Faturalandırma ve Fiyatlandırma |