Source: https://ailoot.ai/docs/id/api/systemone/
Canonical: https://ailoot.ai/docs/id/api/systemone/
Language: id

[API](https://ailoot.ai/docs/id/) 

# Jev — model pengambilan keputusan

[Markdown](https://ailoot.ai/docs/id/api/systemone/index.md)

Model pengambilan keputusan Jev dari TypeSafe menjawab pertanyaan bertipe tentang teks atau JSON: memilih opsi, menilai pada skala, atau menjawab “ya/tidak” dengan probabilitas. Model ini bukan untuk chat atau generasi teks.

POST`https://api.ailoot.ai/v1/systemone`

Jev — model pengambilan keputusan

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "Tolong! Pencairan dana saya terus gagal selama 3 hari.",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Apakah ini menunjukkan keadaan mendesak?"
      }
    }
  }' 
```

```python
import json, os, urllib.request

body = {
    "model": "jev-latest",
    "state": "Tolong! Pencairan dana saya terus gagal selama 3 hari.",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "Apakah ini menunjukkan keadaan mendesak?"},
    },
}
req = urllib.request.Request(
    "https://api.ailoot.ai/v1/systemone",
    data=json.dumps(body).encode(),
    headers={"Authorization": "Bearer " + os.environ["AILOOT_API_KEY"],
             "Content-Type": "application/json"},
)
with urllib.request.urlopen(req, timeout=60) as resp:
    result = json.load(resp)
print(result["answers"]["is_urgent"]["noul"])  # 0.95
```

```js
const resp = await fetch("https://api.ailoot.ai/v1/systemone", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AILOOT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "jev-latest",
    state: "Tolong! Pencairan dana saya terus gagal selama 3 hari.",
    questions: {
      is_urgent: { type: "noul", instructions: "Apakah ini menunjukkan keadaan mendesak?" },
    },
  }),
});
const result = await resp.json();
if (!resp.ok) throw new Error(`${resp.status} ${JSON.stringify(result)}`);
console.log(result.answers.is_urgent.noul); // 0.95
```

200 OK

```json
{
  "model": "jev-1.13.0",
  "answers": {
    "is_urgent": {
      "type": "noul",
      "noul": 0.95
    }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}
```

Jev adalah model pengambilan keputusan kelas System One dari TypeSafe. Model ini tidak menulis teks atau melakukan percakapan: Anda mengirimkan **keadaan** (`state`) — teks atau JSON — serta sekumpulan **pertanyaan**, lalu menerima nilai bertipe beserta probabilitasnya. Berdasarkan nilai tersebut, kode dapat langsung bercabang, mengurutkan, dan merutekan tanpa mengurai teks bebas.

Semua pertanyaan dalam satu permintaan dinilai secara paralel dan saling independen berdasarkan `state`yang sama. Menurut TypeSafe, menambah pertanyaan hampir tidak mengubah waktu respons, dan setiap pertanyaan tidak mengganggu pertanyaan lainnya.

| Aspek | Ringkasan |
| --- | --- |
| Model | `jev-latest` — alias versi stabil Jev terkini; [kartu dalam katalog](https://ailoot.ai/models/id/#m=jev-latest) |
| Metode | `POST /v1/systemone`. Ini bukan chat: format OpenAI, Anthropic, dan Gemini tidak sesuai untuk Jev. Respons dikirim sekaligus sebagai satu JSON |
| Input yang diterima | Hanya teks: string, objek JSON, atau array teks. Ubah gambar, audio, dan video menjadi teks terlebih dahulu |
| Konteks | 64K token per permintaan — state dan semua pertanyaan digabung; state bersama pertanyaan terpanjang — hingga 32K |
| Bahasa | Menurut TypeSafe, model paling akurat dalam bahasa Inggris; bahasa lain diterima tetapi akurasinya lebih rendah — uji dengan data Anda |
| Harga | Input $0.084 per 1 juta token, output gratis |

## [](https://ailoot.ai/docs/id/api/systemone/#request)Permintaan

### Autentikasi

| Parameter | Tipe | Wajib | Deskripsi |
| --- | --- | --- | --- |
| `Authorization` | header | wajib | Kunci Ailoot dalam format `Bearer sk-…`. |

### Isi permintaan

| Parameter | Tipe | Wajib | Deskripsi |
| --- | --- | --- | --- |
| `model` | string | wajib | `jev-latest`. |
| `state` | string \| object \| array | wajib | Yang akan dinilai: string teks atau JSON — pesan pelanggan, data dari basis data, percakapan, atau keadaan aplikasi saat ini. Objek dengan nama kolom yang jelas biasanya lebih praktis daripada satu string. |
| `questions` | object | wajib | Pertanyaan. Anda memilih kuncinya; respons dikembalikan dengan kunci yang sama. Kunci tidak memengaruhi jawaban — pertanyaannya ditentukan dalam `instructions`. |
| `questions.*.type` | string | wajib | `noul`, `choice` atau `score` — lihat di bawah. |
| `questions.*.instructions` | string \| object \| array | wajib | Pertanyaan itu sendiri. Pertanyaan panjang beserta data dapat dikirim sebagai objek: pertanyaan di satu kolom, data di kolom lainnya; rujuk kolom dengan namanya di dalam tanda backtick. |
| `questions.*.criteria` | object \| array |  | Opsi jawaban, berbeda untuk setiap jenis: deskripsi “ya” dan “tidak” untuk noul (opsional), kamus opsi untuk choice, dan daftar tingkat berurutan untuk score. |

## [](https://ailoot.ai/docs/id/api/systemone/#question-types)Jenis pertanyaan

| Jenis | Yang ditanyakan | Yang dikembalikan |
| --- | --- | --- |
| `noul` | Apakah pernyataan benar: ya atau tidak | `noul` — probabilitas “ya” dari 0 hingga 1 |
| `choice` | Opsi mana yang sesuai dari pilihan yang diberikan | `choice`, `probabilities`, `confidence` |
| `score` | Posisi state pada skala tingkat Anda | `score`, `legend`, `probabilities`, `confidence` |

Berbagai jenis dapat digabungkan dalam satu permintaan.

### noul — ya atau tidak

Kolom `criteria` bersifat opsional: Anda dapat menjelaskan arti “ya” (`true`) dan “tidak” (`false`). Jawaban `noul` — angka dari 0 (tidak) hingga 1 (ya).

```json
"is_urgent": {
  "type": "noul",
  "instructions": "Apakah ini menunjukkan keadaan mendesak?",
  "criteria": {
    "true": "Secara eksplisit membutuhkan penanganan tepat waktu",
    "false": "Tidak ada urgensi yang diungkapkan"
  }
}
```

```json
"is_urgent": {
  "type": "noul",
  "noul": 0.95
}
```

### choice — memilih opsi

`criteria` — kamus “opsi → deskripsi”; jika deskripsi tidak diperlukan, isi dengan `null`. Hingga 255 opsi. Dalam respons, `choice` — opsi yang paling mungkin, `probabilities` — probabilitas setiap opsi (totalnya 1), `confidence` — tingkat keyakinan dari 0 hingga 1.

```json
"department": {
  "type": "choice",
  "instructions": "Tim mana yang seharusnya menangani ini?",
  "criteria": {
    "billing": "Pembayaran, penagihan, pengembalian dana",
    "technical": "Bug, gangguan layanan, integrasi",
    "sales": "Harga, peningkatan layanan, pelanggan baru"
  }
}
```

```json
"department": {
  "type": "choice",
  "choice": "billing",
  "probabilities": { "billing": 0.88, "technical": 0.12, "sales": 0.0 },
  "confidence": 0.81
}
```

### score — penilaian pada skala

`criteria` — tingkat dari terendah ke tertinggi, maksimal 10 (TypeSafe menyarankan setidaknya dua). Dalam respons, `score` — nilai yang dibobot berdasarkan probabilitas tingkat (dapat berada di antara dua tingkat), `legend` — nomor tingkat dan deskripsinya, `probabilities` dan `confidence`. Menurut TypeSafe, `score` cocok untuk dibandingkan dengan ambang batas, tetapi bukan sebagai angka pasti di antara tingkat.

```json
"frustration": {
  "type": "score",
  "instructions": "Seberapa tinggi tingkat frustrasi pelanggan?",
  "criteria": ["Tenang", "Frustrasi", "Sangat marah"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "Tenang", "1": "Frustrasi", "2": "Sangat marah" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/id/api/systemone/#response)Respons

| Parameter | Tipe | Wajib | Deskripsi |
| --- | --- | --- | --- |
| `model` | string |  | Versi model yang memberikan respons. Alias jev-latest beralih ke versi baru seiring waktu: jika Anda telah menyesuaikan ambang `confidence` untuk versi tertentu, pantau kolom ini. |
| `answers` | object |  | Satu jawaban untuk setiap pertanyaan, dengan kunci yang sama. Setiap jawaban memiliki `type`, sedangkan choice dan score juga memiliki `confidence`. |
| `usage` | object |  | `input_tokens` dan `output_tokens`. Hanya token input yang dikenai biaya. |

`confidence` dapat digunakan sebagai ambang: jika jawabannya meyakinkan, bertindak secara otomatis; jika tidak, kirim untuk diperiksa manusia atau model besar. Jawaban menentukan pilihan, sedangkan `confidence` — apakah sebaiknya bertindak.

## [](https://ailoot.ai/docs/id/api/systemone/#many-questions)Beberapa pertanyaan dalam satu permintaan

Ajukan semua pertanyaan untuk satu state dalam satu permintaan: penilaiannya berlangsung paralel dan state hanya dikirim sekali. Menurut TypeSafe, pada contoh mereka dengan 13 pertanyaan, satu permintaan gabungan 12,2 kali lebih murah dan 10 kali lebih cepat daripada 13 permintaan terpisah yang dikirim berurutan, dengan jawaban yang sama.

Penilaian kompleks sebaiknya dipecah menjadi pertanyaan sederhana, lalu jawaban digabungkan dalam kode: misalnya, alih-alih “nilai pengajuan ini”, lakukan penilaian terpisah atas pasar, kelayakan, dan perbedaannya dari pesaing. Bobot kemudian diubah dalam kode, bukan dalam teks pertanyaan.

```json
{
  "model": "jev-latest",
  "state": "Tolong! Pencairan dana saya terus gagal selama 3 hari.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Tim mana yang seharusnya menangani ini?",
      "criteria": {
        "billing": "Pembayaran, penagihan, pengembalian dana",
        "technical": "Bug, gangguan layanan, integrasi",
        "sales": "Harga, peningkatan layanan, pelanggan baru"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "Seberapa tinggi tingkat frustrasi pelanggan?",
      "criteria": ["Tenang", "Frustrasi", "Sangat marah"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "Apakah ini menunjukkan keadaan mendesak?"
    }
  }
}
```

## [](https://ailoot.ai/docs/id/api/systemone/#use-cases)Kapan cocok digunakan

- **Perutean.** Kirim pesan ke departemen yang tepat dan permintaan ke penangan yang sesuai: kode sederhana, model besar, atau manusia.
- **Pengurutan dan prioritas.** Urgensi, sentimen, risiko — dinilai pada skala, dengan ambang dalam kode.
- **Moderasi dan pemeriksaan.** Periksa apakah pesan melanggar aturan, sumber mendukung kutipan, atau dokumen memuat jawaban sebelum teks diproses lebih lanjut.
- **Penilaian dan pemeringkatan.** Nilai dokumen, kandidat, atau cuplikan yang ditemukan berdasarkan rubrik Anda, lalu tentukan langkah berikutnya dalam kode.
- **Pengganti instruksi “kembalikan JSON” yang rentan gagal.** Panggilan yang secara bawaan mengembalikan nilai bertipe, bukan teks yang perlu diurai.

## [](https://ailoot.ai/docs/id/api/systemone/#not-for)Kapan tidak cocok digunakan

- **Chat, jawaban kepada pengguna, generasi teks atau kode.** Jev tidak menulis teks — untuk itu tersedia [model teks](https://ailoot.ai/models/id/?kind=text).
- **Model untuk Claude Code, Cursor, dan agen lainnya.** jev-latest tidak dapat menggantikan model agen: agen memerlukan model yang menulis teks dan memanggil alat. Jev dapat dipanggil dari kode yang ditulis agen untuk Anda.
- **Aritmetika, penghitungan, perbandingan tanggal.** Menurut TypeSafe, hal tersebut lebih andal dilakukan dalam kode; tanyakan hanya aspek semantis kepada model — misalnya, ekstrak bagian tanggal melalui choice.
- **Gambar, audio, dan video.** Model hanya menerima teks — ubah data tersebut menjadi teks terlebih dahulu.

Model bekerja paling baik saat setiap pertanyaan meminta satu penilaian yang spesifik dan terfokus. Tuliskan kondisi secara langsung: menurut TypeSafe, model menafsirkan pertanyaan secara harfiah, dan state besar dengan data yang tidak relevan menurunkan akurasi — saring dalam kode.

## [](https://ailoot.ai/docs/id/api/systemone/#price)Harga

Hanya token input yang dikenai biaya — kolom `usage.input_tokens` dalam respons: **$0.084 per 1 juta**. Token output gratis.

Permintaan pada contoh di halaman ini (296 token input) berbiaya kurang dari $0.0001.

Sebelum permintaan, Ailoot menahan dana dari saldo; setelah respons diterima, biaya didebit sekali berdasarkan penggunaan aktual — [cara kerjanya](https://ailoot.ai/docs/id/billing/reserve/).

## [](https://ailoot.ai/docs/id/api/systemone/#limits)Batas

| Aspek | Batas |
| --- | --- |
| Seluruh permintaan: state dan semua pertanyaan | 64K token |
| state bersama pertanyaan terpanjang | 32K token |
| Opsi dalam satu choice | hingga 255 |
| Tingkat dalam satu score | dari 2 hingga 10 |
| Input | hanya teks: string, objek JSON, atau array teks |

Batas model berdasarkan informasi TypeSafe. Batasan kunci dan saldo Anda berlaku seperti pada model Ailoot lainnya: [Kesalahan dan batas](https://ailoot.ai/docs/id/errors/).

## [](https://ailoot.ai/docs/id/api/systemone/#errors)Kesalahan

Kesalahan dikembalikan dalam format umum Ailoot API: kode, pesan yang jelas, dan Request ID. Kesalahan yang paling sering terjadi pada metode ini:

| Kode | Kapan | Tindakan |
| --- | --- | --- |
| **400** `invalid_request` | Isi permintaan gagal validasi: state, model, atau questions tidak ada; type tidak dikenal; choice memiliki lebih dari 255 opsi; score memiliki lebih dari 10 tingkat | Perbaiki permintaan sesuai pesan kesalahan: tanpa perubahan, validasi akan tetap gagal |
| **400** `context_length_exceeded` | Gabungan state dan pertanyaan melebihi batas model | Saring state dalam kode, sisakan data yang dibutuhkan pertanyaan |
| **401** `invalid_api_key` | Kunci tidak ada atau tidak valid | Kirim kunci melalui header Authorization |
| **402** `insufficient_balance` | Saldo bebas tidak cukup untuk saldo yang ditahan | Isi ulang saldo |
| **404** `model_not_found`, `unsupported_endpoint` | ID salah atau model dipanggil melalui metode yang tidak sesuai, misalnya /v1/chat/completions | Panggil jev-latest hanya melalui POST /v1/systemone |
| **429** `rate_limit_exceeded` | Terlalu banyak permintaan | Tunggu selama jumlah detik pada header Retry-After, lalu coba lagi |
| **503** `model_overloaded`, `model_unavailable` | Model sementara kelebihan beban atau tidak tersedia | Jika X-Should-Retry: true — coba lagi setelah jumlah detik pada Retry-After; jika false — periksa dahulu Request ID dalam riwayat |
| **504** `model_timeout` | Model tidak merespons tepat waktu | Jangan kirim ulang permintaan sebelum memeriksa Request ID dalam riwayat |

Daftar kode lengkap tersedia di halaman [Kesalahan dan batas](https://ailoot.ai/docs/id/errors/).

Masih ada pertanyaan? Kirim Request ID dan penjelasannya — kami akan membantu.[Hubungi dukungan](mailto:support@ailoot.ai)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
