Panduan inti
Keputusan
Dapatkan probabilitas, pilihan, dan skor bertipe dari model keputusan
POST /v1/systemone mengevaluasi satu state terhadap pertanyaan bernama dan mengembalikan satu jawaban bertipe per pertanyaan. Responsnya adalah JSON sinkron: probabilitas, nama opsi, atau skor yang dapat dibandingkan dan dijadikan dasar percabangan oleh kode Anda. Ini tidak mengembalikan teks yang dihasilkan.
Keputusan atau chat
| Gunakan keputusan saat | Gunakan chat saat |
|---|---|
| Kode Anda memerlukan angka atau label untuk bertindak | Seseorang atau model lain membaca jawabannya |
| Anda merutekan, mengklasifikasikan, atau membatasi permintaan: pengembalian dana atau tidak, tim mana, seberapa mendesak | Anda memerlukan penjelasan, ringkasan, atau draf teks |
| Anda mengajukan beberapa pertanyaan tetap tentang input yang sama dalam satu panggilan | Anda memerlukan alat, streaming, gambar, atau pesan multi-giliran |
Endpoint keputusan tidak menerima messages, tools, stream, atau kontrol chat lainnya, dan tidak tersedia dalam Batch. Jaga agar model chat utama Anda dikonfigurasi secara terpisah.
Pilih model
curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
-H "Authorization: Bearer sk-your-api-key"Anda juga dapat memfilter dengan category=decision. Baca GET /v1/models/{model} untuk model yang dipilih sebelum Anda mengirim permintaan, dan kirim ID model secara eksplisit. Contoh di halaman ini menggunakan jev-1.13.
Bentuk permintaan
| Field | Tipe | Catatan |
|---|---|---|
model | string | ID model keputusan |
state | string, objek JSON, atau array JSON | Input untuk dievaluasi, seperti tiket, transkrip, atau catatan |
questions | objek | Setidaknya satu pertanyaan. Setiap kunci adalah nama pertanyaan Anda; setiap nilai memiliki type, instructions, dan criteria |
instructions dan setiap kriteria juga menerima string, objek JSON, atau array JSON. Permintaan menolak field yang tidak dikenal.
type | criteria | Jawaban |
|---|---|---|
noul | Opsional. Objek dengan panduan true dan false | noul: probabilitas dari 0 hingga 1 bahwa pernyataan tersebut benar |
choice | Wajib. Objek berisi 1–255 nama opsi, masing-masing dipetakan ke panduan atau null | choice: salah satu nama opsi Anda. Dapat menyertakan probabilities dan confidence |
score | Wajib. Array terurut berisi 2–10 deskripsi level | score: angka dari 0 hingga indeks array terakhir; bisa berupa pecahan. Dapat menyertakan legend, probabilities, dan confidence |
Evaluasi tiket
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"]
}
}
}'Respons menyimpan nama pertanyaan Anda di bawah answers. Nilai di bawah ini bersifat ilustratif:
{
"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}
}Gunakan jawaban
- Setiap pertanyaan mendapatkan jawaban dengan
typeyang sama, di bawah nama yang sama. - Jawaban
nouladalah probabilitas, bukan Boolean. Pilih ambang batas Anda sendiri untuk setiap tindakan. - Jawaban
choiceselalu merupakan salah satu nama opsi yang Anda kirim. - Jawaban
scoremengindeks arraycriteriaAnda:1di atas berarti "Money affected". - Uji keputusan terhadap kasus berlabel Anda sendiri sebelum keputusan tersebut memicu pengembalian dana, eskalasi, atau tindakan lainnya.
Gunakan dari MCP
Server MCP TokenLab mengekspos evaluate_decisions dalam profil core dan full. Panggil list_models dengan {"category":"decision"} dan get_model terlebih dahulu, lalu teruskan model, state, dan questions yang sama sebagai argumen alat. Baca structuredContent.answers dan structuredContent.usage dari hasilnya. Alat ini mengembalikan hasil sinkron dan tidak menggunakan polling tugas asinkron.
Gunakan dari SDK
SDK JavaScript TokenLab 0.1.2+ menyediakan evaluateDecisions(body); SDK Python 0.1.2+ menyediakan evaluate_decisions(body). Body-nya adalah JSON yang sama dengan permintaan HTTP. Keduanya mempertahankan jawaban bertipe dan penggunaan serta tidak secara otomatis memutar ulang permintaan yang gagal. Lihat SDK.
Biaya dan percobaan ulang
- Keputusan dikenakan biaya berdasarkan token, dari
usage.input_tokensdanusage.output_tokensdalam respons, sesuai harga token model saat ini. - Harga dapat berubah. Baca detail harga model atau API Harga alih-alih melakukan hard-coding harga.
- Model dapat melaporkan token output bahkan ketika harga outputnya nol.
- Permintaan mengikuti opsi pengiriman Anda. Lihat Penagihan dan harga.
- Timeout membuat hasil menjadi tidak pasti. Periksa permintaan di log atau Konsol Anda sebelum mengirim permintaan berbayar lagi.
Kesalahan Umum
| Gejala | Kemungkinan penyebab | Perbaikan |
|---|---|---|
400 pada field seperti messages atau stream | Field chat bukan bagian dari endpoint ini | Kirim hanya model, state, dan questions |
400 pada criteria | choice memiliki 0 atau lebih dari 255 opsi, score memiliki kurang dari 2 atau lebih dari 10 level, atau objek noul tidak memiliki true atau false | Perbaiki definisi pertanyaan |
| Tindakan terpicu pada sinyal lemah | Probabilitas noul diperlakukan sebagai true atau false | Bandingkan dengan ambang batas yang telah Anda uji |
Referensi API
| Topik | Referensi |
|---|---|
| Evaluasi Keputusan | Evaluasi Keputusan |
| Daftar Model | Daftar Model |
| Harga | API Harga |
| Penagihan & Harga | Penagihan & Harga |