【CSDN 編者按】在 AI 技術(shù)飛速發(fā)展的今天,OpenAI API 已成為眾多 SaaS 開(kāi)發(fā)者手中的得力工具。但高額的 Token 消耗,也讓成本控制成為開(kāi)發(fā)者不得不面對(duì)的難題。本文作者以一個(gè)月消耗 94 億 Token 的實(shí)戰(zhàn)經(jīng)歷,毫無(wú)保留地分享了優(yōu)化成本的關(guān)鍵經(jīng)驗(yàn)。
原文鏈接:https://www.reddit.com/r/LLMDevs/comments/1kigp51/spent_9400000000_openai_tokens_in_april_here_is/
作者 | tiln7 翻譯 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
大家好!剛剛 結(jié)束了 一個(gè) 對(duì) 我們 SaaS 產(chǎn)品 來(lái)說(shuō) 強(qiáng)度 非常 大的 OpenAI API 調(diào)用 月, 我 想 順便 分享一些踩坑總結(jié)。 通過(guò)下面這幾條優(yōu)化策略, 我們成功將 成本 降低了 43%! 希望這能幫到同樣也在用 OpenAI API 的開(kāi)發(fā)者朋友們。
選對(duì)模型是關(guān)鍵中的關(guān)鍵
我知道這聽(tīng)起來(lái)像廢話(huà),但這真的很重要。不同模型之間的價(jià)格差距巨大,我們通過(guò)大量測(cè)試,最終挑選了“最便宜但效果還不錯(cuò)”的組合:簡(jiǎn)單任務(wù)主要用 GPT-4o-mini,復(fù)雜一點(diǎn)的才上 GPT-4.1。
我們的業(yè)務(wù)并不需要強(qiáng)邏輯推理能力的模型(比如 GPT-4 Turbo),所以可以放心避開(kāi)高價(jià)位的模型。雖然測(cè)試確實(shí)花了不少時(shí)間,但從長(zhǎng)期來(lái)看絕對(duì)值得。
用好提示詞緩存(Prompt Caching)
這點(diǎn)完全是意外收獲。OpenAI 平臺(tái)會(huì)自動(dòng)緩存完全一致的提示詞(prompt),在重復(fù)調(diào)用相同的 prompt 時(shí),不僅速度提升,成本也能大幅下降!
我們實(shí)測(cè)發(fā)現(xiàn):對(duì)于長(zhǎng)提示詞,延遲最多減少 80%,成本也降低近 50%。還有一點(diǎn)很重要:確保 prompt 中的“變化部分”放在末尾,否則緩存機(jī)制可能無(wú)法命中。除了這一點(diǎn),其他都不用額外配置,真的省心又高效。
務(wù)必設(shè)置賬單預(yù)警!
一定要開(kāi)通賬單提醒!我們就是因?yàn)闆](méi)設(shè)置,一不小心 5 天就把整個(gè)月的預(yù)算都燒光了……
優(yōu)化提示詞結(jié)構(gòu),盡量減少輸出 Token 數(shù)量
你知道嗎?OpenAI 平臺(tái)上“輸出 Token”的價(jià)格是“輸入 Token”的 4 倍!
所以我們優(yōu)化了模型的輸出方式:不再讓它輸出完整的文本結(jié)果,而是改為只返回位置編號(hào)和類(lèi)別,然后在代碼中進(jìn)行映射。這一個(gè)小改動(dòng),讓我們的輸出 Token 數(shù)量直接減少約 70%,調(diào)用延遲也大大降低!
使用 Batch API 處理非實(shí)時(shí)任務(wù)
如果你有不需要即時(shí)返回的任務(wù),比如夜間批處理類(lèi)操作,強(qiáng)烈推薦用 Batch API(一個(gè)專(zhuān)門(mén)設(shè)計(jì)來(lái)處理大量數(shù)據(jù)的批處理服務(wù))!我們把一批夜間處理邏輯遷移到了 Batch API 上,直接省了一半的費(fèi)用。雖然它有 24 小時(shí)的處理窗口,但對(duì)非實(shí)時(shí)業(yè)務(wù)完全沒(méi)問(wèn)題,強(qiáng)烈推薦。
寫(xiě)在最后:這些經(jīng)驗(yàn)教訓(xùn)是我們?cè)跓?94 億個(gè) Token 之后,邊踩坑邊總結(jié)出來(lái)的,希望能幫大家避雷。如果你也在做 AI API 集成,歡迎補(bǔ)充一些實(shí)用技巧!
“這值得燒掉 94億個(gè)Token嗎?”
然而,對(duì)于上面的這些建議和總結(jié),多數(shù)網(wǎng)友的第一反應(yīng)都是:就這,值得燒掉 94 億個(gè) Token 嗎?
“你要是早點(diǎn)看 OpenAI 官方文檔里 Best Practices 這部分,可能早就省下一大堆Token了……”
“不是我說(shuō)你,這些經(jīng)驗(yàn)教訓(xùn)其實(shí)應(yīng)該是你在系統(tǒng)設(shè)計(jì)階段就該思考的問(wèn)題,而不應(yīng)該靠‘燒錢(qián)’試出來(lái)。”
也有部分網(wǎng)友提出疑問(wèn),為什么不試試其他更便宜的模型:
“重點(diǎn)問(wèn)題來(lái)了——你到底是干了啥,要用掉 94 億 Token?!你有沒(méi)有嘗試過(guò)其他模型?有打算把 ChatGPT 換掉嗎?”
“內(nèi)容不錯(cuò),不過(guò)我很想知道你們的 SaaS 業(yè)務(wù)究竟做什么的,竟然要用這么多 Token!有沒(méi)有考慮過(guò) Gemini 這種更便宜、支持多模態(tài)和 100 萬(wàn) Token 上下文的模型?為啥一直堅(jiān)持用 OpenAI 的模型?”
同時(shí),個(gè)別開(kāi)發(fā)者也指出,有些建議并不適用于所有情景:
“我想就第 4 點(diǎn)進(jìn)行補(bǔ)充。雖然壓縮輸出 Token 聽(tīng)起來(lái)很劃算,但有時(shí)候適當(dāng)提供足夠的輸出空間,其實(shí)有助于大模型‘思考清晰、計(jì)算準(zhǔn)確、提升答案自信度’,而限制 Token 可能會(huì)影響推理質(zhì)量。如果你對(duì) Token 預(yù)算很敏感,不妨考慮是不是這項(xiàng)任務(wù)根本不需要大模型來(lái)處理——用傳統(tǒng)邏輯就夠了。優(yōu)秀的 Prompt 設(shè)計(jì),是清晰、貼切、符合語(yǔ)境,而不是一味地壓榨 Token 空間。”
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.