RAG 成本優化:從每次問答一塊錢降到一毛
把每個環節的成本攤開,逐項優化。多數系統有五到十倍的優化空間。
RAG 的成本容易失控,因為它把好幾個付費環節串在一起:嵌入、檢索、重排、生成,每一環都可能被過度配置。
優化的前提是先能歸因。把每次問答的成本拆到各環節,你會很快看出哪一項佔了八成。
成本歸因
cost = {
'embed': n_query_tokens / 1e6 * EMBED_PRICE,
'rerank': n_candidates * RERANK_PRICE_PER_DOC,
'generate': (ctx_tokens * GEN_IN + out_tokens * GEN_OUT) / 1e6,
}
log.info('qa_cost', extra={**cost, 'total': sum(cost.values())})六個實際有效的優化
- 縮小上下文:k 從 8 降到 4,生成成本直接砍半。先用評測確認品質不掉。
- 縮短片段:父片段從 1500 字降到 800 字,多數任務影響很小。
- 壓縮系統提示:長系統提示每次都算錢,這是最容易被忽略的固定成本。
- 開前綴快取:系統提示佔比高時效果顯著。
- 減少重排候選:從 50 降到 20,重排成本降六成。
- 分級生成:簡單問題用小模型,只有複雜問題升級。
嵌入成本的一次性優化
嵌入的大宗成本在建索引,是一次性的;但如果你頻繁重建索引(例如每天全量重跑),它就會變成持續成本。改成增量同步後,這一項通常能降到接近零。
用離線批次處理建索引
# 建索引不需要即時,用批次 API 單價通常較低
# 也避免大量嵌入請求擠壓線上服務的配額優化順序建議
- 先量測、歸因,找出佔比最高的一項。
- 從不影響品質的優化開始:前綴快取、批次處理、去除重複呼叫。
- 再做需要驗證的優化:降 k、縮片段、分級模型,每一項都跑評測。
- 最後才考慮換更便宜的模型。
設定成本目標
訂一個「每次問答成本上限」並做成監控。超標時告警,而不是等月底看帳單。目標值可以從商業模式反推:若每位使用者每月付 300 元、平均問 200 次,那麼每次問答的成本上限就很清楚。
優化前先存一份「優化前的評測分數與成本」快照。沒有基準線,你無法證明優化是有效的,也無法在品質下滑時判斷是哪一步造成的。
訂閱後繼續閱讀全文
本篇為訂閱者專屬內容。訂閱後可取得下列權限:
- 解鎖全部內容權限
- 閱讀不限篇數
- 全站移除廣告
月卡
NT$240
開通 30 天
一次付清,開通 30 天
季卡
NT$620
開通 90 天
一次付清,開通 90 天,每天約 NT$7
年卡
NT$2,160
開通 365 天
一次付清,開通 365 天,每天約 NT$6
一次性付款,付款成功後立即開通,到期自動結束,不會再次扣款,也不需要取消訂閱。
立即訂閱
金額均為新臺幣(TWD),即實際扣款金額,不另收手續費
支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
購買須知與退款政策