GUIDES

Python 文字分類:完整請求、覆核與安全重試

用 Python 呼叫文字分類 API,先定義文字、允許的標籤與覆核門檻,再讀取結構化答案。下面的範例只輸出分類建議,不會自動轉派工單,也不會替你執行付款或其他業務動作。

執行完整的 Python 範例

先執行 python -m pip install requests。於伺服器環境設定 JEV_API_KEY,使用具備有效 API 存取權及剩餘點數的帳戶金鑰。每個邏輯請求設定一次 JEV_IDEMPOTENCY_KEY:可用 python -c "import uuid; print(uuid.uuid4())" 產生 UUID,並保存供重試使用。不要將金鑰放入瀏覽器程式或公開版本庫。

把範例存成 classify.py,再執行 python classify.py。文字及標籤已定義;HTTP 失敗會在解析成功結果前拋出錯誤。輸出只有判定 ID、分類與 needsReview。刻意修改輸入時才建立新的請求識別;連線結果不明時,保留原本的冪等鍵及完整內容。

import json
import os
import requests

api_key = os.environ["JEV_API_KEY"].strip()
request_key = os.environ["JEV_IDEMPOTENCY_KEY"].strip()
if not api_key:
    raise ValueError("JEV_API_KEY must not be empty")
if not 8 <= len(request_key) <= 100:
    raise ValueError("JEV_IDEMPOTENCY_KEY must be 8-100 characters")

payload = {
    "text": "I was charged twice for the same order.",
    "instructions": "Choose the team responsible for this request.",
    "labels": ["Billing", "Support", "Access"],
    "threshold": 0.85,
}
response = requests.post(
    "https://jevapi.pro/api/v1/decisions",
    headers={
        "Authorization": "Bearer " + api_key,
        "Idempotency-Key": request_key,
    },
    json=payload,
    timeout=(5, 30),
)
response.raise_for_status()
answer = response.json()
print(json.dumps({
    "id": answer["id"],
    "choice": answer["choice"],
    "needsReview": answer["needsReview"],
}, ensure_ascii=False, indent=2))

逐欄位查看請求契約

把答案當建議,不當確定的判決

新判定以 201 回傳 id、choice、confidence、probabilities、needsReview、model 與 latencyMs;帳戶請求另含剩餘 credits。供應商未提供信心時 confidence 為 null,needsReview 為 true;信心低於設定門檻也需要覆核。

機率只檢查範圍與是否屬於允許的標籤,不保證總和為 1,也不保證最大值對應 choice。請讀取回傳的 choice,不要排序機率表猜答案。模型給出範圍外的標籤會被 API 拒收,不會替你補上一個預設答案。

文字分類的輸入與限制

批次處理與避免重複扣點

CSV 請逐列送出,將每個邏輯請求的冪等鍵、穩定的來源紀錄 ID、完整請求內容及處理狀態一起保存。不要以列號當識別:重新匯出時插入一列,就會改變後續位置。規則或輸入改變代表新請求,不是重試。

逾時、斷線或閘道的一般 502/503,不能證明請求未扣點。停止自動轉派,使用相同內容與原鍵查回結果。409 request_running 要保留原鍵;API 的 409 request_failed 明確確認紀錄已失敗,排除原因後才換新鍵。不要看到代理伺服器錯誤就建立新請求。

402 代表點數不足;401 可能是金鑰缺失、已撤銷或 API 存取權到期,請先確認帳戶。429 代表速率或額度限制,若有 Retry-After 就依它等待,並限制重試次數。範例只送出一次並暴露錯誤,避免暗中循環計費。不想寫批次程式時,可直接使用工作空間:它會保留每列狀態,匯出不包含來源原文。

批次分類與匯出 · 開啟批次工作空間

何時用 API,何時自行部署模型

標籤穩定、有適合的訓練資料且能維運時,scikit-learn 或 transformer 可能較划算。但本機模型不是每列零成本:運算、維護、評估與人工覆核都需要投入。請用自己的工作量衡量總成本及延遲。

API 免去模型部署,但要承擔網路依賴、供應商處理文字及使用費。離線或資料必須留在自有環境時,本機模型可能更合適。兩者都不能把信心分數變成正確保證。

先以同一組保留樣本對照人工標記,包含模糊及難分類的訊息。從記錄建議開始,只自動執行評估支持的可逆動作,needsReview 結果交給既有人工佇列。

以規則評估模型答案

試做一次判定 ↗

繼續工作流程

API 文件

Jev API 文件

端點接受一個界線明確的分類任務——一份標籤清單,或最多四個型別化問題——並為每個被問到的問題回傳答案。請使用具備有效 API 存取權的伺服器端金鑰。

閱讀指南 ↗
詢問方案與用量

查找產品解答

回答來自已發布的產品指南。如有帳戶相關問題,請聯絡客服。

聯絡我們
每日獎勵

每天免費領取 2 點

每個 UTC 日可免費領取 2 點,領取七天共 14 點。無需購買,點數永不過期。

    每日 00:00 UTC 重置,不要求連續簽到。

    試做一次判定 →

    在您的工作區中進行下一個決策。

    每天 3 次匿名試用 · 註冊送 20 點數 · 試用免綁卡

    登入 ↗

    告訴我們你的需求

    請說明要分類的工作流程、預期用量與所需結果。我們將透過 email 回覆。

    10–2,000 個字元。切勿包含密碼、API 金鑰或付款資料。