Source: https://ailoot.ai/docs/zh-hant-tw/api/systemone/
Canonical: https://ailoot.ai/docs/zh-hant-tw/api/systemone/
Language: zh-hant-tw

[API](https://ailoot.ai/docs/zh-hant-tw/) 

# Jev — 決策模型

[Markdown](https://ailoot.ai/docs/zh-hant-tw/api/systemone/index.md)

TypeSafe 的決策模型 Jev 可針對文字或 JSON 回答具型別的問題：選擇選項、依量表評分，或提供附帶機率的「是／否」答案。它不提供聊天或文字生成。

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

Jev — 決策模型

```bash
curl https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "救命！我的撥款已經連續失敗 3 天。",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "這是否表達了緊迫性？"
      }
    }
  }' 
```

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

body = {
    "model": "jev-latest",
    "state": "救命！我的撥款已經連續失敗 3 天。",
    "questions": {
        "is_urgent": {"type": "noul", "instructions": "這是否表達了緊迫性？"},
    },
}
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: "救命！我的撥款已經連續失敗 3 天。",
    questions: {
      is_urgent: { type: "noul", instructions: "這是否表達了緊迫性？" },
    },
  }),
});
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 是 TypeSafe 的 System One 類決策模型。它不會撰寫文字，也不進行對話：您傳入 **狀態** (`state`)—文字或 JSON—以及一組 **問題**, 然後取得附帶機率的具型別值。程式碼可直接依據這些值進行分支、排序與路由，無須解析自由文字。

同一請求中的所有問題都會以相同的`state`為依據，平行且相互獨立地評估。根據 TypeSafe 的資料，增加問題幾乎不會改變回應時間，而且問題之間不會互相干擾。

| 項目 | 摘要 |
| --- | --- |
| 模型 | `jev-latest` —Jev 最新穩定版本的別名； [目錄中的模型資訊卡](https://ailoot.ai/models/zh-hant-tw/#m=jev-latest) |
| 方法 | `POST /v1/systemone`。它不是聊天模型：OpenAI、Anthropic與Gemini 格式皆不適用於 Jev。回應會以單一 JSON 完整傳回。 |
| 接受的輸入 | 僅接受文字：字串、JSON 物件或文字陣列。請先將影像、音訊與影片轉成文字 |
| 上下文 | 每次請求可使用 64K token，包含 state與所有問題；state 加上最長的問題，最多可使用 32K |
| 語言 | 根據 TypeSafe 的資料，模型使用英文時最準確；也接受其他語言，但準確度較低，請使用自己的資料驗證 |
| 價格 | 輸入每 1 百萬 token 為 $0.084，輸出免費 |

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#request)請求

### 身分驗證

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `Authorization` | header | 必填 | Ailoot 金鑰，格式為`Bearer sk-…`。 |

### 請求本文

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `model` | string | 必填 | `jev-latest`。 |
| `state` | string \| object \| array | 必填 | 要評估的內容：文字字串或 JSON，例如客戶詢問、資料庫紀錄、往來訊息或應用程式目前的狀態。使用欄位名稱清楚的物件，通常比單一字串更方便。 |
| `questions` | object | 必填 | 問題。您自行選擇鍵名，答案會以相同鍵名傳回；鍵名不會影響答案，實際問題是在此欄位中設定：`instructions`。 |
| `questions.*.type` | string | 必填 | `noul`，`choice`或`score` —詳見下方。 |
| `questions.*.instructions` | string \| object \| array | 必填 | 實際問題。較長且包含資料的問題，可透過物件傳入：一個欄位放問題，其他欄位放資料；引用欄位時，請以反引號括住欄位名稱。 |
| `questions.*.criteria` | object \| array |  | 答案選項依類型而異：noul 可選填「是」與「否」的說明，choice 使用選項字典，score 使用按順序排列的等級清單。 |

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#question-types)問題類型

| 類型 | 提問內容 | 傳回內容 |
| --- | --- | --- |
| `noul` | 敘述是否正確：是或否 | `noul` —「是」的機率，範圍為 0 到 1 |
| `choice` | 指定的選項中，哪一個適合 | `choice`，`probabilities`，`confidence` |
| `score` | state 在您設定的等級量表中位於哪個位置 | `score`，`legend`，`probabilities`，`confidence` |

同一請求中可混用不同類型。

### noul — 是或否

欄位`criteria`為選填欄位，可在其中說明「是」(`true`)與「否」(`false`). 回傳的`noul` —從 0 (否) 到 1 (是) 的數值。

```json
"is_urgent": {
  "type": "noul",
  "instructions": "這是否表達了緊迫性？",
  "criteria": {
    "true": "明確具有時效性",
    "false": "未表達急迫性"
  }
}
```

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

### choice — 選擇選項

`criteria` —「選項 → 說明」字典；若不需要說明，請填入`null`。最多 255 個選項。回應中的`choice` —機率最高的選項， `probabilities` —各選項的機率 (總和為 1)， `confidence` —信心程度，範圍為 0 到 1。

```json
"department": {
  "type": "choice",
  "instructions": "應由哪個團隊處理？",
  "criteria": {
    "billing": "付款、開立帳單、退款",
    "technical": "錯誤、服務中斷、整合",
    "sales": "定價、升級、新客戶"
  }
}
```

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

### score — 依量表評分

`criteria` —由低到高排列的等級，最多 10 個 (TypeSafe 建議至少兩個)。回應中的`score` —依各等級機率加權的數值 (可能落在兩個等級之間)， `legend` —等級編號與說明， `probabilities`與`confidence`。根據 TypeSafe 的資料， `score`適合與門檻值比較，但不適合用來表示等級之間的精確數值。

```json
"frustration": {
  "type": "score",
  "instructions": "客戶有多沮喪？",
  "criteria": ["平靜", "感到挫折", "非常憤怒"]
}
```

```json
"frustration": {
  "type": "score",
  "score": 1.05,
  "legend": { "0": "平靜", "1": "感到挫折", "2": "非常憤怒" },
  "probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
  "confidence": 0.92
}
```

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#response)回應

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `model` | string |  | 實際回應的模型版本。jev-latest 別名會隨時間指向新版本；若您已針對特定版本設定`confidence`的門檻值，請留意此欄位。 |
| `answers` | object |  | 每個問題各有一個答案，使用與問題相同的鍵名。每個答案都包含`type`，choice與score 還包含`confidence`。 |
| `usage` | object |  | `input_tokens`與`output_tokens`。僅輸入 token 會計費。 |

`confidence`很適合作為門檻值：信心高的答案可自動採取行動，信心低的答案則交由人工或大型模型檢查。答案告訴您該選什麼，而`confidence`則告訴您是否值得採取行動。

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#many-questions)在一次請求中提出多個問題

針對同一 state 的所有問題，請在同一次請求中提出：問題會平行評估，state 只需傳送一次。根據 TypeSafe 的資料，他們的 13 個問題範例中，在答案相同的情況下，一次合併請求的費用比依序傳送 13 個獨立請求低 12,2 倍，速度快 10 倍。

複雜的判斷最好拆成簡單問題，再於程式碼中合併答案：例如，與其要求「評估申請案」，不如分別評估市場、可行性與競爭差異。如此一來，權重可在程式碼中調整，無須修改問題文字。

```json
{
  "model": "jev-latest",
  "state": "救命！我的撥款已經連續失敗 3 天。",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "應由哪個團隊處理？",
      "criteria": {
        "billing": "付款、開立帳單、退款",
        "technical": "錯誤、服務中斷、整合",
        "sales": "定價、升級、新客戶"
      }
    },
    "frustration": {
      "type": "score",
      "instructions": "客戶有多沮喪？",
      "criteria": ["平靜", "感到挫折", "非常憤怒"]
    },
    "is_urgent": {
      "type": "noul",
      "instructions": "這是否表達了緊迫性？"
    }
  }
}
```

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#use-cases)適用情境

- **路由。** 將客戶詢問送至適當部門，並將請求交給適當的處理者：簡單程式碼、大型模型或人工。
- **排序與優先順序。** 依量表評估急迫性、情緒傾向與風險，並在程式碼中設定門檻值。
- **內容審核與查核。** 在文字進入後續流程前，判斷訊息是否違反規則、來源是否支持引文，以及文件中是否有問題的答案。
- **評分與排名。** 依據自己的評分準則評估文件、候選人或找到的片段，再於程式碼中決定哪些進入後續流程。
- **取代不可靠的「傳回 JSON」指令。** 呼叫本身即會傳回具型別的值，而非需要另外解析的文字。

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#not-for)不適用情境

- **聊天、回覆使用者、生成文字或程式碼。** Jev 不會撰寫文字，這類用途請使用[文字模型](https://ailoot.ai/models/zh-hant-tw/?kind=text)。
- **作為 Claude Code、Cursor與其他代理使用的模型。** 無法以 jev-latest 取代代理所用的模型：代理需要能撰寫文字並呼叫工具的模型。不過，您可以在代理為您撰寫的程式碼中呼叫 Jev。
- **算術、計數與日期比較。** 根據 TypeSafe 的資料，這些工作由程式碼處理更可靠；只向模型詢問語意部分，例如透過 choice 擷取日期的組成部分。
- **影像、音訊與影片。** 模型僅接受文字，請事先將這類資料轉成文字。

每個問題都是具體、範圍明確的單一判斷時，模型表現最好。請直接寫出條件：根據 TypeSafe 的資料，模型會按字面理解問題；過大的 state 若含有多餘資料，會降低準確度，請在程式碼中先行篩除。

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#price)價格

僅輸入 token 會計費— `usage.input_tokens`為回應中的對應欄位，價格為：**每 1 百萬為 $0.084**。輸出 token 免費。

本頁範例的請求 (296 個輸入 token) 費用低於 $0.0001。

在請求前，Ailoot 會先從餘額中保留一筆金額；回應後，再依實際用量扣款一次— [運作方式](https://ailoot.ai/docs/zh-hant-tw/billing/reserve/)。

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#limits)限制

| 項目 | 上限 |
| --- | --- |
| 完整請求：state與所有問題 | 64K token |
| state 加上最長的問題 | 32K token |
| 單一 choice 的選項數量 | 最多 255 |
| 單一 score 的等級數量 | 2 到 10 |
| 輸入 | 僅接受文字：字串、JSON 物件或文字陣列 |

模型上限依據 TypeSafe 的資料。與其他 Ailoot 模型一樣，仍須遵守您的金鑰與餘額限制：[錯誤與限制](https://ailoot.ai/docs/zh-hant-tw/errors/)。

## [](https://ailoot.ai/docs/zh-hant-tw/api/systemone/#errors)錯誤

錯誤會以 Ailoot API 的通用格式傳回：代碼、易懂的文字與Request ID。此方法最常見的錯誤如下：

| 代碼 | 發生情況 | 處理方式 |
| --- | --- | --- |
| **400** `invalid_request` | 請求主體未通過驗證：缺少 state、model 或 questions、type 不明、choice 超過 255 個選項，或 score 超過 10 個等級 | 請依錯誤文字修正請求；未修改的請求仍會驗證失敗 |
| **400** `context_length_exceeded` | state與所有問題的總長度超過模型上限 | 請在程式碼中篩選 state，只保留問題需要的內容 |
| **401** `invalid_api_key` | 未提供金鑰，或金鑰不正確 | 請在 Authorization 標頭中傳入金鑰 |
| **402** `insufficient_balance` | 可用餘額不足以保留所需金額 | 儲值 |
| **404** `model_not_found`，`unsupported_endpoint` | ID 有誤，或使用了不適合此模型的方法，例如透過 /v1/chat/completions 呼叫 | jev-latest 僅能透過 POST /v1/systemone 呼叫 |
| **429** `rate_limit_exceeded` | 請求過多 | 請等待 Retry-After 標頭指定的秒數後，再次嘗試 |
| **503** `model_overloaded`，`model_unavailable` | 模型暫時過載或無法使用 | 若 X-Should-Retry: true，請等待 Retry-After 指定的秒數後再次嘗試；若為 false，請先在歷史紀錄中檢查 Request ID |
| **504** `model_timeout` | 模型未在期限內回應 | 在歷史紀錄中檢查 Request ID 前，請勿重新傳送請求 |

完整代碼清單請見此頁面：[錯誤與限制](https://ailoot.ai/docs/zh-hant-tw/errors/)。

還有疑問嗎？請提供 Request ID與問題描述，我們會協助釐清。[聯絡支援](mailto:support@ailoot.ai)

## Ailoot · 公司及其專案組合





Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。





公司及其專案組合：數百萬客戶，每月銷售額達數十億。





Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
