文件
API

Jev — 決策模型

Markdown

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

完整指南
POSThttps://api.ailoot.ai/v1/systemone
Jev — 決策模型
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": "這是否表達了緊迫性?"
      }
    }
  }' 
200 OK
{
  "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 最新穩定版本的別名; 目錄中的模型資訊卡
方法POST /v1/systemone。它不是聊天模型:OpenAI、Anthropic與Gemini 格式皆不適用於 Jev。回應會以單一 JSON 完整傳回。
接受的輸入僅接受文字:字串、JSON 物件或文字陣列。請先將影像、音訊與影片轉成文字
上下文每次請求可使用 64K token,包含 state與所有問題;state 加上最長的問題,最多可使用 32K
語言根據 TypeSafe 的資料,模型使用英文時最準確;也接受其他語言,但準確度較低,請使用自己的資料驗證
價格輸入每 1 百萬 token 為 $0.084,輸出免費

請求

身分驗證

  • Authorizationheader必填

    Ailoot 金鑰,格式為Bearer sk-…。

請求本文

  • modelstring必填

    jev-latest。

  • statestring | object | array必填

    要評估的內容:文字字串或 JSON,例如客戶詢問、資料庫紀錄、往來訊息或應用程式目前的狀態。使用欄位名稱清楚的物件,通常比單一字串更方便。

  • questionsobject必填

    問題。您自行選擇鍵名,答案會以相同鍵名傳回;鍵名不會影響答案,實際問題是在此欄位中設定:instructions。

  • questions.*.typestring必填

    noul,choice或score —詳見下方。

  • questions.*.instructionsstring | object | array必填

    實際問題。較長且包含資料的問題,可透過物件傳入:一個欄位放問題,其他欄位放資料;引用欄位時,請以反引號括住欄位名稱。

  • questions.*.criteriaobject | array

    答案選項依類型而異:noul 可選填「是」與「否」的說明,choice 使用選項字典,score 使用按順序排列的等級清單。

問題類型

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

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

noul — 是或否

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

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

choice — 選擇選項

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

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

score — 依量表評分

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

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

回應

  • modelstring

    實際回應的模型版本。jev-latest 別名會隨時間指向新版本;若您已針對特定版本設定confidence的門檻值,請留意此欄位。

  • answersobject

    每個問題各有一個答案,使用與問題相同的鍵名。每個答案都包含type,choice與score 還包含confidence。

  • usageobject

    input_tokens與output_tokens。僅輸入 token 會計費。

在一次請求中提出多個問題

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

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

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

適用情境

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

不適用情境

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

價格

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

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

在請求前,Ailoot 會先從餘額中保留一筆金額;回應後,再依實際用量扣款一次— 運作方式。

限制

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

模型上限依據 TypeSafe 的資料。與其他 Ailoot 模型一樣,仍須遵守您的金鑰與餘額限制:錯誤與限制。

錯誤

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

代碼發生情況處理方式
400 invalid_request請求主體未通過驗證:缺少 state、model 或 questions、type 不明、choice 超過 255 個選項,或 score 超過 10 個等級請依錯誤文字修正請求;未修改的請求仍會驗證失敗
400 context_length_exceededstate與所有問題的總長度超過模型上限請在程式碼中篩選 state,只保留問題需要的內容
401 invalid_api_key未提供金鑰,或金鑰不正確請在 Authorization 標頭中傳入金鑰
402 insufficient_balance可用餘額不足以保留所需金額儲值
404 model_not_found,unsupported_endpointID 有誤,或使用了不適合此模型的方法,例如透過 /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 前,請勿重新傳送請求

完整代碼清單請見此頁面:錯誤與限制。

還有疑問嗎?請提供 Request ID與問題描述,我們會協助釐清。聯絡支援