用量與預算
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、不計費。