Hakila Docs

用量與預算

RequestLogs 用量追蹤與 API Key/組織點數預算控制

每次 Gateway 請求都會寫入用量紀錄,並依組織儲值餘額(硬閘門)與 API Key/層級預算阻擋超支請求。

用量紀錄

成功與失敗的 /v1/chat/completions 與 /v1/responses(含 POST /v1/responses/input_tokens)都會留下紀錄(概念欄位):

  • Workspace / Organization / User / ApiKey
  • model、provider、upstream model
  • prompt / completion tokens、Prompt Cache 讀取/寫入 tokens、延遲、HTTP status
  • Response Cache 狀態(HIT/MISS)與套用的 Preset
  • 可選的 request / response body(由伺服器設定控制)

Admin 後台可用這些資料查看用量與成本。

API Key 預算

Admin 建立/更新金鑰時以 新台幣(BudgetTwd) 設定預算;資料庫與 Gateway 內部仍以 USD(BudgetUsd / SpentUsd) 儲存與累計,以對齊供應商單價。1 點等於 1 美元的模型用量,所以預算上限也就是點數上限。

存檔時以當下的美元匯率把台幣換成點數上限,之後匯率變動不會改變這個上限;回應中的 budgetTwd、spentTwd、periodSpentTwd 也用同一個存檔匯率換回台幣。預算金額只對應模型用量,不含儲值時的平台服務費與營業稅。要依新匯率重算,重新儲存一次預算即可。

預算是週期制的,金額右側可選週期(budgetPeriod):

週期值區間(台北時間)
每天daily當日 00:00 至隔日 00:00
每週weekly週一 00:00 至下週一 00:00
每月monthly(預設)當月 1 日 00:00 至下月 1 日 00:00

檢查對象是本期已用(periodSpentTwd),跨期自動重新起算(回應的 periodResetsAt 是下一次重算時間);spentTwd 仍是金鑰的終身累計,只供對帳。切換週期不會清掉任何用量,只是改以新週期的當期區間重新加總。

當金鑰本期累計 >= BudgetUsd 時,後續請求回傳:

{
  "error": {
    "message": "API key budget exceeded.",
    "code": 402
  }
}

未設定預算(Admin 不填、內部為 null)代表不限制金鑰本身。

組織預算與儲值餘額

儲值餘額是硬閘門。 組織帳本餘額(Admin「帳務資訊」頁的儲值餘額,BalancePoints,1 點 = 1 美元的模型用量,扣點可以是小數)≤ 0 時,Gateway 會一律回傳 402 與 Organization credit balance exhausted.,無論 API Key/人員/單位/組織預算還剩多少。尚未儲值、餘額為 0 的組織同樣會被擋下,需先儲值才能呼叫 API。

組織、單位與人員也可另設點數使用上限與週期,上限以點數計(1 點 = 1 美元的模型用量)。Gateway 會合計該組織所有 API Key 在組織週期內的即時用量;當本期累計花費達到組織上限時,回傳 402 與 Organization budget exceeded.。

單位/人員也可在組織管理頁設點數使用上限與週期;Gateway 會依金鑰綁定逐層檢查,每一層只看自己的週期與本期累計,各層週期可以不同(例如組織每月、單位每天)。儲存時「下層上限不得超過上層」的檢查只在兩層週期相同時進行。

計價來源

目錄中的模型有 PromptPerMillion / CompletionPerMillion,以及可選的 CacheReadPerMillion / CacheWritePerMillion(皆為 USD / 1M tokens,由平台模型目錄維護,平台管理員可調整)。

每筆請求分四段計價:

成本 = (prompt − 快取讀取 − 快取寫入) × Prompt 單價
     + 快取讀取 × (CacheRead 單價,未設定時用 Prompt 單價)
     + 快取寫入 × (CacheWrite 單價,未設定時用 Prompt 單價)
     + completion × Completion 單價

快取 token 數來自上游 usage(prompt_tokens_details.cached_tokens / cache_write_tokens),詳見 Prompt Cache。沒有快取單價的模型一律以 Prompt 單價計算,不會少收。

hakila/auto 的實際成本依最終路由到的上游模型計算;自動選模本身不計費。 POST /v1/responses/input_tokens 只回傳計數,不計入 token 費用。 Response Cache 命中的請求不呼叫上游,tokens 記為 0、不計費。

相關頁面

本頁目錄