TokenLab

核心指南

決策 (Decisions)

從決策模型獲取類型化的機率、選項和分數

POST /v1/systemone 會針對已命名的問題評估一個 state,並為每個問題返回一個類型化的答案。回應為同步 JSON:包含您的程式碼可以進行比較和分支判斷的機率、選項名稱或分數。它不會返回生成的文字。

決策或聊天

何時使用決策何時使用聊天
您的程式碼需要數字或標籤來執行操作由人員或其他模型讀取答案
您需要路由、分類或過濾請求:是否退款、哪個團隊、緊急程度您需要解釋、摘要或草擬文字
您在一次呼叫中針對相同的輸入詢問多個固定問題您需要工具、串流、圖像或多輪對話訊息

決策端點不接受 messages、tools、stream 或其他聊天控制項,且不適用於 Batch。請將您的主要聊天模型分開設定。

選擇模型

curl "https://api.tokenlab.sh/v1/models?recommended_for=decision" \
  -H "Authorization: Bearer sk-your-api-key"

您也可以使用 category=decision 進行篩選。在發送請求之前,請先閱讀所選模型的 GET /v1/models/{model},並明確發送模型 ID。本頁範例使用 jev-1.13。

請求格式

欄位類型備註
modelstring決策模型 ID
statestring, JSON object, or JSON array要評估的輸入,例如工單、文字記錄或記錄
questionsobject至少一個問題。每個鍵都是您的問題名稱;每個值都包含 type、instructions 和 criteria

instructions 和每個準則也接受字串、JSON 物件或 JSON 陣列。請求會拒絕未知的欄位。

typecriteria答案
noul選填。包含 true 和 false 指引的物件noul:陳述為真的機率(0 到 1 之間)
choice必填。包含 1–255 個選項名稱的物件,每個選項對應至指引或 nullchoice:您的選項名稱之一。可包含 probabilities 和 confidence
score必填。包含 2–10 個等級描述的有序陣列score:從 0 到最後一個陣列索引的數字;可以是小數。可包含 legend、probabilities 和 confidence

評估工單

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"]
      }
    }
  }'

回應會將您的問題名稱保留在 answers 下。以下數值僅供說明:

{
  "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}
}

使用答案

  • 每個問題都會在相同的名稱下獲得相同 type 的答案。
  • noul 答案是機率,而非布林值。請為每個操作選擇您自己的閾值。
  • choice 答案永遠是您發送的選項名稱之一。
  • score 答案會索引您的 criteria 陣列:上述的 1 代表「Money affected」。
  • 在將決策用於驅動退款、升級或其他操作之前,請先針對您自己的標記案例進行測試。

從 MCP 使用

TokenLab MCP server 在 core 和 full 設定檔中公開了 evaluate_decisions。請先呼叫 list_models(帶有 {"category":"decision"})和 get_model,然後將相同的 model、state 和 questions 作為工具參數傳遞。從結果中讀取 structuredContent.answers 和 structuredContent.usage。該工具返回同步結果,不使用非同步任務輪詢。

從 SDK 使用

TokenLab JavaScript SDK 0.1.2+ 提供 evaluateDecisions(body);Python SDK 0.1.2+ 提供 evaluate_decisions(body)。body 與 HTTP 請求的 JSON 相同。兩者皆保留類型化答案和使用量,且不會自動重試失敗的請求。請參閱 SDKs。

成本與重試

  • 決策按 Token 計費,根據回應中的 usage.input_tokens 和 usage.output_tokens 以及模型當前的 Token 價格計算。
  • 價格可能會變動。請閱讀模型的定價詳情或 Pricing API,而不是將價格寫死。
  • 即使輸出價格為零,模型也可能回報輸出 Token。
  • 請求遵循您的交付選項。請參閱 計費與定價。
  • 超時會導致結果不確定。在再次發送付費請求之前,請先檢查您的日誌或 Console 中的請求。

常見錯誤

徵狀可能原因修正
400 (針對 messages 或 stream 等欄位)聊天欄位不屬於此端點僅發送 model、state 和 questions
400 (針對 criteria)choice 有 0 個或超過 255 個選項,score 少於 2 個或超過 10 個等級,或者 noul 物件缺少 true 或 false修正問題定義
操作在微弱訊號下觸發noul 機率被視為 true 或 false與您測試過的閾值進行比較

API 參考

主題參考
評估決策評估決策
列出模型列出模型
定價定價 API
帳單與定價帳單與定價

本頁內容