Skip to Content
模型用法Jev(TypeSafe)概覽

Jev

TypeSafe Jev 是一個判斷模型,不生成文字,只回答預先定義的問題。請求中提供待判斷的內容與一組問題,模型為每個問題返回結構化答案及其機率,程式可直接依據結果執行分支邏輯。

適用情境

重點需要程式依據判斷結果執行不同邏輯時,使用 Jev;需要生成供人閱讀的文字時,使用對話大模型。

適用於:

  • 分類與分流:工單歸屬的處理團隊、使用者意圖類別。
  • 是非判斷:是否包含個人資訊、是否為退款申請、是否為提示詞注入。
  • 評分與排序:緊急程度、相關度、情緒強度,以及檢索結果篩選。
  • 大模型輸出品質檢查:回答是否切題、是否違規。

不適用於:

  • 生成文字、摘要、翻譯或程式碼。
  • 圖片判斷(Jev 僅支援文字與 JSON 輸入,圖片判斷請使用 GPT-6 Luna)。
  • 答案無法預先列為選項或級別的開放式問題。

與「對話大模型 + JSON 輸出」的比較:

Jev對話大模型 + JSON 輸出
返回內容僅限預先給定的選項或級別可能返回選項以外的值,需要額外驗證
不確定性每個答案附帶機率,choice 與 score 另附置信度通常不提供可用的機率
多個問題單次請求同時回答,共用同一份輸入需合併到同一提示詞,或分多次呼叫
計費僅依輸入 token 計費,輸出不計費輸入、輸出皆依對話模型價格計費

快速開始

1. 準備接入資訊:在 OfoxAI 控制台 建立 API Key,並使用以下資訊:

接入資訊
Base URLhttps://api.ofox.ai/v1
模型 IDtypesafe/jev-latest也可寫作 jev-latest
介面路徑/v1/decisionsPOST;不適用 /v1/chat/completions

2. 安裝 SDK:使用 OpenAI 官方 Python SDK 呼叫時,需安裝包含 client.decisions 的版本:

Terminal
pip install -U openai
注意如執行時出現 AttributeError: 'OpenAI' object has no attribute 'decisions',表示 SDK 版本過舊,執行上述指令升級即可(實測 openai 3.31.0 可用)。不使用 SDK 時,也可透過下方 cURL 呼叫。

3. 發起呼叫:

quickstart.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"]) r = client.decisions.create( model="typesafe/jev-latest", input="Customer message: I was charged twice, nobody has answered my two emails, and I need a refund today.", questions=[{"type": "predicate", "name": "is_frustrated", "instructions": "Is the customer frustrated?"}], ) print(r.answers[0].probability) # 0.98

回應範例:

{ "model": "typesafe/jev-latest", "answers": [{ "type": "predicate", "name": "is_frustrated", "probability": 0.98 }], "usage": { "prompt_tokens": 302, "completion_tokens": 23, "total_tokens": 325 } }

probability 表示答案為「是」的機率,0.98 即模型判斷客戶不滿的可能性極高。將 input 替換為實際內容、questions 替換為實際問題,即可用於自己的業務情境。

問題類型

根據所需的結果形式選擇問題類型:

所需結果問題類型需提供的欄位返回欄位
是或否predicate問題;可選 criteria 說明「是」「否」各指什麼probability:為「是」的機率
在多個選項中選擇一個choicechoices:2–255 個選項choice、每個選項的機率、confidence
程度高低scorelevels:2–10 個由低到高的級別score、每級機率、confidence

範例:「是否為退款申請」使用 predicate;「應由哪個團隊處理」使用 choice;「緊急程度如何」使用 score。三個問題可放在同一請求中,一次返回全部答案。

確定問題類型後,請參照問題設計檢查問題與選項。

常見錯誤

現象原因處理方法
AttributeError: 'OpenAI' object has no attribute 'decisions'OpenAI SDK 版本過舊執行 pip install -U openai 後重試
400 endpoint_not_supported,提示 Please use /v1/decisions instead將 Jev 作為對話模型呼叫了 /v1/chat/completions改為呼叫 /v1/decisions
400 Invalid request payload在 /v1/decisions 上使用了 TypeSafe 原生格式(state、物件形式的 questions)改用 input 與陣列形式的 questions,或改為呼叫 /typesafe/v1/systemone
400 questions are required for decisionquestions 為空至少提供一個問題
400 question "a" has kind choice and requires criteria optionschoice 問題缺少 choices補充選項
400 Too many score levels. Must have at most 10 levels.score 超過 10 級合併級別
400 max_tokens_exceeded輸入超過 64K token拆分長文件,或僅傳入相關部分
400,錯誤訊息包含 input_image 與 Typesafe cannot read向 Jev 傳入了圖片移除圖片,或改用支援圖片的模型
404 model_not_found模型 ID 有誤使用 typesafe/jev-latest
請求成功,但答案明顯錯誤且置信度較高choice 的選項未涵蓋實際情況增加「以上皆非」選項並補充選項描述,參見問題設計
答案中缺少 name,無法與問題對應問題未設定 name為每個問題設定 name

完整錯誤列表請見 Decisions API · 常見錯誤。

官方文件

常見問題

Jev 和用大模型輸出 JSON 有什麼區別?

Jev 僅在給定的選項和級別內作答,不會返回範圍外的值;每個答案附帶機率,choice 與 score 另附置信度,可直接用於設定門檻。大模型輸出 JSON 需要額外驗證,通常也不提供可用的機率。

/v1/decisions 和 /typesafe/v1/systemone 該用哪個?

新專案建議使用 /v1/decisions,可直接透過 OpenAI SDK 呼叫。已使用 TypeSafe SDK 或其官方範例程式碼的專案,可使用 /typesafe/v1/systemone,僅需修改 base URL。

Jev 如何計費?

僅依輸入 token 計費,輸出不計費,單價請見模型頁。同一請求中的多個問題共用同一份輸入,因此將問題合併到一次請求中可降低成本。

置信度高是否意味著答案一定正確?

不一定。選項未涵蓋實際情況時,模型仍會從既有選項中選擇一個,且置信度可能較高。因此 choice 問題應設定「以上皆非」等兜底選項,並使用人工標註樣本進行驗證。

score 返回 1.43 表示什麼?

score 是依各級機率加權計算的值,級別從 0 開始編號。1.43 表示介於第 1 級與第 2 級之間、更接近第 1 級;各級的具體機率請見 probabilities。

是否支援中文內容?

支援。內容與問題均可使用中文,也可內容使用中文、問題使用英文。

Jev 是否支援圖片?

不支援,Jev 僅接受文字和 JSON。需要對圖片進行判斷時,可改用支援圖片輸入的 GPT-6 Luna(openai/gpt-6-luna),請求格式相同。

最後更新於