dokumentasi
API

Jev — model keputusan

Markdown

Model keputusan Jev daripada TypeSafe menjawab soalan berjenis tentang teks atau JSON: memilih pilihan, menilai pada skala atau memberikan jawapan “ya/tidak” dengan kebarangkalian. Ia bukan sembang atau penjanaan teks.

Panduan lengkap
POSThttps://api.ailoot.ai/v1/systemone
Jev — model keputusan
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Tolong! Pembayaran keluar saya gagal sejak 3 hari lalu.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Adakah ini menunjukkan kesegeraan?"
      }
    }
  }' 
200 OK
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

Jev ialah model keputusan kelas System One daripada TypeSafe. Ia tidak menulis teks atau berbual: anda menghantar keadaan (state) — teks atau JSON — dan sekumpulan soalan, lalu menerima nilai berjenis dengan kebarangkalian. Berdasarkannya, kod terus memilih cabang, mengisih dan menghalakan, tanpa perlu menghuraikan teks bebas.

Semua soalan dalam satu permintaan dinilai secara serentak dan bebas antara satu sama lain, terhadap nilai yang sama bagi state. Menurut TypeSafe, menambah soalan hampir tidak mengubah masa respons dan soalan tidak mengganggu satu sama lain.

PerkaraRingkasan
Modeljev-latest — alias versi stabil Jev yang terkini; kad dalam katalog
KaedahPOST /v1/systemone. Ia bukan sembang: format OpenAI, Anthropic dan Gemini tidak sesuai untuk Jev. Respons diterima sepenuhnya sebagai satu JSON
Input yang diterimaHanya teks: rentetan, objek JSON atau tatasusunan teks. Tukarkan imej, audio dan video kepada teks terlebih dahulu
Konteks64K token setiap permintaan — state dan semua soalan bersama-sama; state bersama soalan paling panjang — sehingga 32K
BahasaMenurut TypeSafe, model paling tepat dalam bahasa Inggeris; bahasa lain diterima tetapi ketepatannya lebih rendah — uji dengan data anda sendiri
HargaInput $0.084 bagi setiap 1 juta token, output percuma

Permintaan

Pengesahan

  • Authorizationheaderwajib

    Kunci Ailoot dalam bentuk Bearer sk-….

Badan permintaan

  • modelstringwajib

    jev-latest.

  • statestring | object | arraywajib

    Perkara yang dinilai: rentetan teks atau JSON — pertanyaan pelanggan, rekod pangkalan data, perbualan atau keadaan semasa aplikasi anda. Objek dengan nama medan yang jelas biasanya lebih mudah digunakan daripada satu rentetan.

  • questionsobjectwajib

    Soalan. Anda memilih kuncinya, dan jawapan diterima di bawah kunci yang sama; kunci tidak mempengaruhi jawapan — soalan sebenar dinyatakan dalam instructions.

  • questions.*.typestringwajib

    noul, choice atau score — lihat di bawah.

  • questions.*.instructionsstring | object | arraywajib

    Soalan itu sendiri. Soalan panjang dengan data boleh dihantar sebagai objek: soalan dalam satu medan dan data dalam medan lain; rujuk medan mengikut nama dalam tanda aksen grave.

  • questions.*.criteriaobject | array

    Pilihan jawapan berbeza mengikut jenis: penerangan “ya” dan “tidak” untuk noul (pilihan), kamus pilihan untuk choice, senarai tahap tersusun untuk score.

Jenis soalan

JenisPerkara yang ditanyaNilai yang dikembalikan
noulAdakah pernyataan itu benar: ya atau tidaknoul — kebarangkalian “ya” dari 0 hingga 1
choicePilihan yang sesuai daripada pilihan yang diberikanchoice, probabilities, confidence
scoreKedudukan state pada skala tahap andascore, legend, probabilities, confidence

Jenis boleh digabungkan dalam satu permintaan.

noul — ya atau tidak

Medan criteria adalah pilihan: anda boleh menerangkan maksud “ya” (true) dan “tidak” (false). Jawapan noul — nombor dari 0 (tidak) hingga 1 (ya).

"is_urgent": {
  "type": "noul",
  "instructions": "Adakah ini menunjukkan kesegeraan?",
  "criteria": {
    "true": "Jelas memerlukan tindakan segera",
    "false": "Tiada kesegeraan dinyatakan"
  }
}

choice — pemilihan pilihan

criteria — kamus “pilihan → penerangan”; jika penerangan tidak diperlukan, nyatakan null. Sehingga 255 pilihan. Dalam respons choice — pilihan yang paling berkemungkinan, probabilities — kebarangkalian setiap pilihan (jumlahnya 1), confidence — tahap keyakinan dari 0 hingga 1.

"department": {
  "type": "choice",
  "instructions": "Pasukan manakah yang patut mengendalikan perkara ini?",
  "criteria": {
    "billing": "Pembayaran, penginvoisan, bayaran balik",
    "technical": "Pepijat, gangguan perkhidmatan, integrasi",
    "sales": "Harga, naik taraf, pelanggan baharu"
  }
}

score — penilaian pada skala

criteria — tahap daripada yang terendah kepada yang tertinggi, tidak melebihi 10 (TypeSafe mengesyorkan sekurang-kurangnya dua). Dalam respons score — nilai berwajaran berdasarkan kebarangkalian tahap (boleh berada di antara tahap), legend — nombor tahap dan penerangannya, probabilities dan confidence. Menurut TypeSafe, score sesuai untuk dibandingkan dengan ambang, tetapi bukan untuk mendapatkan nombor tepat di antara tahap.

"frustration": {
  "type": "score",
  "instructions": "Sejauh manakah pelanggan berasa kecewa?",
  "criteria": ["Tenang", "Kecewa", "Sangat marah"]
}

Respons

  • modelstring

    Versi model yang memberikan respons. Alias jev-latest beralih kepada versi baharu dari semasa ke semasa: jika anda telah menetapkan ambang confidence untuk versi tertentu, pantau medan ini.

  • answersobject

    Satu jawapan bagi setiap soalan, di bawah kunci yang sama. Setiap jawapan mempunyai type, manakala choice dan score turut mempunyai confidence.

  • usageobject

    input_tokens dan output_tokens. Hanya token input dicaj.

Beberapa soalan dalam satu permintaan

Ajukan semua soalan tentang satu state dalam satu permintaan: soalan dinilai secara serentak dan state dihantar sekali sahaja. Menurut TypeSafe, dalam contoh mereka dengan 13 soalan, satu permintaan gabungan adalah 12,2 kali lebih murah dan 10 kali lebih pantas berbanding 13 permintaan berasingan yang dihantar berturutan, dengan jawapan yang sama.

Lebih baik pecahkan pertimbangan rumit kepada soalan mudah dan gabungkan jawapan dalam kod: contohnya, gantikan “nilai permohonan” dengan penilaian berasingan tentang pasaran, kebolehlaksanaan dan perbezaan daripada pesaing. Dengan itu, pemberat diubah dalam kod, bukan dalam teks soalan.

{
  "model": "jev-latest",
  "state": "Tolong! Pembayaran keluar saya gagal sejak 3 hari lalu.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Pasukan manakah yang patut mengendalikan perkara ini?",
      "criteria": {
        "billing": "Pembayaran, penginvoisan, bayaran balik",
        "technical": "Pepijat, gangguan perkhidmatan, integrasi",
        "sales": "Harga, naik taraf, pelanggan baharu"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Sejauh manakah pelanggan berasa kecewa?",
      "criteria": ["Tenang", "Kecewa", "Sangat marah"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Adakah ini menunjukkan kesegeraan?"
    }
  }
}

Kegunaan yang sesuai

  • Penghalaan. Hantar pertanyaan ke jabatan yang betul, dan permintaan ke pengendali yang betul: kod mudah, model besar atau manusia.
  • Pengisihan dan keutamaan. Tahap kesegeraan, sentimen, risiko — dinilai pada skala, dengan ambang dalam kod.
  • Moderasi dan semakan. Adakah mesej melanggar peraturan, adakah sumber menyokong petikan, adakah dokumen mengandungi jawapan kepada soalan — sebelum teks diteruskan.
  • Pemarkahan dan pemeringkatan. Nilai dokumen, calon atau petikan yang ditemui mengikut rubrik anda dan tentukan dalam kod perkara yang diteruskan.
  • Pengganti kepada arahan rapuh “kembalikan JSON”. Panggilan yang memang direka untuk mengembalikan nilai berjenis, bukannya teks yang perlu dihuraikan.

Kegunaan yang tidak sesuai

  • Sembang, respons kepada pengguna, penjanaan teks atau kod. Jev tidak menulis teks — untuk itu, gunakan model teks.
  • Model untuk Claude Code, Cursor dan ejen lain. Anda tidak boleh menggantikan model ejen dengan jev-latest: ejen memerlukan model yang menulis teks dan memanggil alat. Jev boleh dipanggil daripada kod yang ditulis oleh ejen untuk anda.
  • Aritmetik, pengiraan dan perbandingan tarikh. Menurut TypeSafe, perkara ini lebih andal dilakukan dalam kod, manakala model hanya ditanya tentang makna — contohnya, mengekstrak bahagian tarikh melalui choice.
  • Imej, audio dan video. Model hanya menerima teks — tukarkan data tersebut kepada teks terlebih dahulu.

Harga

Hanya token input dicaj — medan usage.input_tokens dalam respons: $0.084 bagi setiap 1 juta. Token output adalah percuma.

Permintaan dalam contoh pada halaman ini (296 token input) berharga kurang daripada $0.0001.

Sebelum permintaan, Ailoot merizabkan amaun daripada baki dan, selepas respons, mengenakan caj sekali berdasarkan penggunaan sebenar — cara ia berfungsi.

Had

PerkaraHad
Keseluruhan permintaan: state dan semua soalan64K token
state bersama soalan yang paling panjang32K token
Pilihan dalam satu choicesehingga 255
Tahap dalam satu scoredari 2 hingga 10
Inputhanya teks: rentetan, objek JSON atau tatasusunan teks

Had model adalah menurut TypeSafe. Sekatan kunci dan baki anda berkuat kuasa seperti bagi mana-mana model Ailoot: Ralat dan had.

Ralat

Ralat diterima dalam format umum Ailoot API: kod, teks yang jelas dan Request ID. Ralat yang paling lazim bagi kaedah ini:

KodKeadaanTindakan
400 invalid_requestBadan permintaan gagal pengesahan: state, model atau questions tiada, type tidak dikenali, choice mempunyai lebih daripada 255 pilihan atau score mempunyai lebih daripada 10 tahapBetulkan permintaan berdasarkan mesej ralat: tanpa pembetulan, ia akan gagal lagi
400 context_length_exceededstate dan soalan bersama-sama melebihi had modelTapis state dalam kod, kekalkan perkara yang diperlukan oleh soalan
401 invalid_api_keyKunci tiada atau tidak sahHantar kunci dalam pengepala Authorization
402 insufficient_balanceBaki tersedia tidak mencukupi untuk rizabTambah nilai baki
404 model_not_found, unsupported_endpointID tidak betul atau model dipanggil melalui kaedah yang salah, contohnya melalui /v1/chat/completionsPanggil jev-latest hanya melalui POST /v1/systemone
429 rate_limit_exceededTerlalu banyak permintaanTunggu selama bilangan saat yang dinyatakan dalam pengepala Retry-After, kemudian cuba semula
503 model_overloaded, model_unavailableModel terlebih beban buat sementara waktu atau tidak tersediaJika X-Should-Retry: true — cuba semula selepas bilangan saat dalam Retry-After; jika false — semak Request ID dalam sejarah terlebih dahulu
504 model_timeoutModel tidak memberikan respons dalam tempoh yang ditetapkanJangan hantar semula permintaan sebelum menyemak Request ID dalam sejarah

Senarai penuh kod terdapat pada halaman Ralat dan had.

Masih ada soalan? Hantar Request ID dan penerangannya — kami akan membantu menyiasatnya.Hubungi sokongan