<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      Prompt 緩存的四種策略:從精確匹配到語義檢索

      0
      分享至

      自然語言理解、摘要生成、代碼編寫、邏輯推理,OpenAI 等廠商的模型把這些事情做得相當(dāng)好。但是只有一個(gè)問題,那就是 “貴".尤其是在應(yīng)用上了規(guī)模之后,API 調(diào)用費(fèi)用的增長(zhǎng)速度會(huì)讓人心跳加速。

      Prompt 緩存是應(yīng)對(duì)這個(gè)問題最直接也最容易被忽視的手段。本文會(huì)從原理講到實(shí)踐,覆蓋四種不同層級(jí)的緩存策略,配有代碼示例和架構(gòu)圖。

      LLM 的成本為什么漲得這么快

      LLM API 的定價(jià)模型就三個(gè)維度:輸入 Token 數(shù)(也就是 Prompt 長(zhǎng)度)、輸出 Token 數(shù)(響應(yīng)長(zhǎng)度)、調(diào)用次數(shù)。

      比如FAQ 機(jī)器人、聊天式新人引導(dǎo)助手、內(nèi)部開發(fā)者工具、AI 儀表板——這些應(yīng)用有一個(gè)共同特征:大量重復(fù)或高度相似的 Prompt 被反復(fù)發(fā)送,而期望得到的回答幾乎一樣。

      如果不做緩存的話,每次調(diào)用都要按量計(jì)費(fèi),那費(fèi)用肯定就爆炸了。

      Prompt 緩存是什么

      一句話概括:

      當(dāng)相同或等價(jià)的 Prompt 再次出現(xiàn)時(shí),直接復(fù)用之前的 LLM 響應(yīng),而不是重新調(diào)用 API。

      先查緩存,命中就直接返回;沒命中再去調(diào) LLM,拿到結(jié)果后存入緩存。



      就這一個(gè)改動(dòng),成本就能降低 30%–90%,具體數(shù)字取決于工作負(fù)載的重復(fù)程度。

      策略 1:精確匹配緩存

      這是最基礎(chǔ)的方案。邏輯非常簡(jiǎn)單:完全相同的 Prompt 字符串出現(xiàn)時(shí),直接返回緩存結(jié)果。

      適用場(chǎng)景包括靜態(tài) FAQ、政策說明文檔、"解釋 X"這一類 Prompt,以及聊天機(jī)器人中反復(fù)出現(xiàn)的 system prompt。

      下面是 Node.js 的實(shí)現(xiàn):

      import crypto from "crypto";
      const cache = new Map();
      function hashPrompt(prompt) {
      return crypto.createHash("sha256").update(prompt).digest("hex");
      }
      async function getLLMResponse(prompt) {
      const key = hashPrompt(prompt);
      // Step 1: Cache lookup
      if (cache.has(key)) {
      return cache.get(key);
      }
      // Step 2: Call LLM API
      const response = await callLLM(prompt);
      // Step 3: Store in cache
      cache.set(key, response);
      return response;
      }

      為什么要對(duì) Prompt 做哈希?因?yàn)?Prompt 本身可能很長(zhǎng),哈希之后得到固定長(zhǎng)度的 key,查找速度快,SHA-256 的碰撞概率也低到可以忽略。

      內(nèi)存緩存的優(yōu)點(diǎn)是極快,單實(shí)例或小規(guī)模系統(tǒng)用起來非常合適。但是這樣做也進(jìn)程重啟緩存就沒了,多實(shí)例之間也無法共享。

      策略 2:規(guī)范化緩存

      精確匹配有一個(gè)很容易遇到的問題:Prompt 里多一個(gè)空格、少一個(gè)換行、大小寫不同,就被當(dāng)成不同的 key 了。實(shí)際上這些差異對(duì)語義毫無影響。

      解決辦法是在緩存前先做規(guī)范化處理。舉個(gè)例子:

      規(guī)范化之前:

      "Explain REST APIs"
      "Explain REST APIs "
      "Explain REST APIs"

      規(guī)范化之后全部變成:

      "explain rest apis"

      代碼實(shí)現(xiàn):

      function normalizePrompt(prompt) {
      return prompt
      .toLowerCase()
      .replace(/\s+/g, " ")
      .trim();
      }
      function getCacheKey(prompt) {
      return hashPrompt(normalizePrompt(prompt));
      }

      不必要的 cache miss 減少了,命中率明顯上升,同時(shí)整個(gè)過程依然是確定性的、安全的。

      策略 3:語義緩存

      "What is REST?" 和 "Explain REST architecture" 說的其實(shí)是同一件事,但無論精確匹配還是規(guī)范化匹配都會(huì)把它們當(dāng)作兩個(gè)完全不同的請(qǐng)求。

      所以思路是引入向量嵌入。把 Prompt 編碼成向量,通過余弦相似度之類的指標(biāo)判斷兩個(gè) Prompt 是否"足夠接近"。如果相似度超過閾值,直接返回緩存結(jié)果。

      語義緩存流程



      工具選型方面,Embedding 可以用 OpenAI 的接口,向量存儲(chǔ)可以選 Pinecone、Weaviate 這類專門的向量數(shù)據(jù)庫,小規(guī)模場(chǎng)景下在內(nèi)存里做相似度搜索也夠用。

      偽代碼如下:

      const SIMILARITY_THRESHOLD = 0.90;
      async function getSemanticResponse(prompt) {
      const embedding = await getEmbedding(prompt);
      const match = await vectorDB.findClosest(embedding);
      if (match && match.score > SIMILARITY_THRESHOLD) {
      return match.response;
      }
      const response = await callLLM(prompt);
      await vectorDB.store({
      embedding,
      response
      });
      return response;
      }

      語義緩存的風(fēng)險(xiǎn)



      語義緩存的核心風(fēng)險(xiǎn)在于閾值設(shè)定。設(shè)得太低會(huì)把不相關(guān)的 Prompt 混為一談,返回錯(cuò)誤結(jié)果;設(shè)得太高又和精確匹配沒什么區(qū)別。0.90 是一個(gè)比較常見的起步值,具體數(shù)字需要根據(jù)業(yè)務(wù)場(chǎng)景調(diào)優(yōu)。

      策略 4:分層緩存架構(gòu)

      生產(chǎn)環(huán)境一般不會(huì)只用單一緩存策略,而是按層級(jí)組合。典型的三層架構(gòu)長(zhǎng)這樣:

      L1 Cache (In-memory, per instance)
      |
      L2 Cache (Redis / Shared Cache)
      |
      L3 Semantic Cache (Vector DB)
      |
      LLM Provider

      每一層的定位不同。L1 是進(jìn)程內(nèi)存緩存,速度最快但作用域最??;L2 一般用 Redis,多個(gè)實(shí)例可以共享同一份緩存;L3 是語義緩存層,處理那些文本不同但意思相近的 Prompt。只有三層都沒命中的情況下,請(qǐng)求才會(huì)打到 LLM Provider。

      緩存過期與失效

      Prompt 緩存不能"設(shè)了就忘"。以下幾種情況必須主動(dòng)失效:模型版本升級(jí)了,Prompt 模板改了,或者緩存的內(nèi)容涉及時(shí)效性信息。

      最簡(jiǎn)單的做法是設(shè) TTL:

      cache.set(key, response, {
      ttl: 60 * 60 * 24 // 24 hours
      });

      成本影響



      緩存帶來的收益是雙重的——成本下降,延遲也降低了。對(duì)于重復(fù)率高的工作負(fù)載,這兩個(gè)指標(biāo)的改善都非??捎^。

      總結(jié)

      在 LLM 系統(tǒng)的各種優(yōu)化手段中,Prompt 緩存的投入產(chǎn)出比可能是最高的。入手門檻低,可以漸進(jìn)式迭代,而且到了一定規(guī)模之后幾乎是剛需。

      可以先從精確緩存做起,這是成本最低、風(fēng)險(xiǎn)最小的方案。規(guī)范化處理應(yīng)該盡早加上,代碼量很小但效果明顯。語義緩存只在業(yè)務(wù)確實(shí)需要時(shí)才引入,因?yàn)樗鼛砹祟~外的復(fù)雜度和向量計(jì)算開銷。TTL 和版本控制是必須配套的機(jī)制。最后緩存命中率要持續(xù)監(jiān)控,因?yàn)檫@是判斷緩存策略是否有效的核心指標(biāo)。

      如果正在生產(chǎn)環(huán)境跑 AI 系統(tǒng)卻沒做 Prompt 緩存,可以試試上面的方法,肯定會(huì)為你省錢。

      https://avoid.overfit.cn/post/10623b71c58d425dae471f5333a54e4c

      作者: Vasanthan K

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(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.

      相關(guān)推薦
      熱點(diǎn)推薦
      歐爾班宣布反制措施:在我們耗盡石油之前,烏克蘭人將先耗盡資金

      歐爾班宣布反制措施:在我們耗盡石油之前,烏克蘭人將先耗盡資金

      陳恧侃故事
      2026-03-07 11:31:12
      現(xiàn)場(chǎng)直擊:伊朗防空系統(tǒng)攔截美以目標(biāo)

      現(xiàn)場(chǎng)直擊:伊朗防空系統(tǒng)攔截美以目標(biāo)

      新華社
      2026-03-06 10:54:01
      鄭爽分享美國近況,穿搭不輸當(dāng)紅明星,自曝做醫(yī)美網(wǎng)友直呼認(rèn)不出

      鄭爽分享美國近況,穿搭不輸當(dāng)紅明星,自曝做醫(yī)美網(wǎng)友直呼認(rèn)不出

      萌神木木
      2026-03-06 17:33:33
      河南女孩六年前為救父親性命,稱誰給40萬就嫁給誰,如今過得如何

      河南女孩六年前為救父親性命,稱誰給40萬就嫁給誰,如今過得如何

      牛鍋巴小釩
      2026-03-06 19:45:04
      致敬西虹市首富?切爾西眾人開球前將球圍在中間,解說員啞然失笑

      致敬西虹市首富?切爾西眾人開球前將球圍在中間,解說員啞然失笑

      懂球帝
      2026-03-07 13:08:08
      廣西女子發(fā)現(xiàn)罕見青竹鯉,時(shí)不時(shí)側(cè)身蹭水底,網(wǎng)友:魚生天花板!

      廣西女子發(fā)現(xiàn)罕見青竹鯉,時(shí)不時(shí)側(cè)身蹭水底,網(wǎng)友:魚生天花板!

      貍貓之一的動(dòng)物圈
      2026-03-06 09:38:48
      小學(xué)生實(shí)名投訴極氪 建議取消讓她寫作業(yè)的小桌板!極氪回應(yīng)

      小學(xué)生實(shí)名投訴極氪 建議取消讓她寫作業(yè)的小桌板!極氪回應(yīng)

      快科技
      2026-03-06 23:12:33
      王震堅(jiān)決反對(duì)中顧委副主任排名,薄一波:我是常務(wù),就這么定了

      王震堅(jiān)決反對(duì)中顧委副主任排名,薄一波:我是常務(wù),就這么定了

      芊芊子吟
      2026-03-06 09:45:07
      莫雷加德全家抵達(dá)重慶:對(duì)這座城市印象深刻,會(huì)請(qǐng)樊振東推薦美食

      莫雷加德全家抵達(dá)重慶:對(duì)這座城市印象深刻,會(huì)請(qǐng)樊振東推薦美食

      乒談
      2026-03-07 00:19:01
      中國女籃72-66再勝巴西,不是張子宇王思雨,她17+7成新核

      中國女籃72-66再勝巴西,不是張子宇王思雨,她17+7成新核

      林子說事
      2026-03-07 08:15:14
      速度滑冰世錦賽:寧忠?guī)r收獲短距離全能、男子1000米兩項(xiàng)季軍

      速度滑冰世錦賽:寧忠?guī)r收獲短距離全能、男子1000米兩項(xiàng)季軍

      懂球帝
      2026-03-07 07:21:57
      高市早苗被逼到絕路:派也死,不派也死

      高市早苗被逼到絕路:派也死,不派也死

      鯨探所長(zhǎng)
      2026-03-07 12:02:36
      霍爾木茲海峽船只遭襲4死3重傷!兩萬海員被困,伊朗稱不會(huì)關(guān)閉海峽,但與以美有關(guān)船只不得通行;普京與伊總統(tǒng)通話:通過多種渠道保持聯(lián)系

      霍爾木茲海峽船只遭襲4死3重傷!兩萬海員被困,伊朗稱不會(huì)關(guān)閉海峽,但與以美有關(guān)船只不得通行;普京與伊總統(tǒng)通話:通過多種渠道保持聯(lián)系

      大風(fēng)新聞
      2026-03-07 10:05:06
      霍震霆也沒想到,46歲的霍啟剛,會(huì)在兩會(huì)上憑一個(gè)舉動(dòng)給霍家長(zhǎng)臉

      霍震霆也沒想到,46歲的霍啟剛,會(huì)在兩會(huì)上憑一個(gè)舉動(dòng)給霍家長(zhǎng)臉

      攬星河的筆記
      2026-03-06 23:55:22
      結(jié)束了!整整27年生涯!曝冠軍主帥最后一舞

      結(jié)束了!整整27年生涯!曝冠軍主帥最后一舞

      籃球?qū)崙?zhàn)寶典
      2026-03-06 18:57:43
      晴好周末,出游安排起來 | 天氣早知道

      晴好周末,出游安排起來 | 天氣早知道

      上觀新聞
      2026-03-07 11:57:06
      針對(duì)“不敢休、不讓休”怪圈,國家出手了!

      針對(duì)“不敢休、不讓休”怪圈,國家出手了!

      國是直通車
      2026-03-07 09:12:15
      村里紅白事從不回,男子母親離世,鄰居等著看笑話,結(jié)果長(zhǎng)了見識(shí)

      村里紅白事從不回,男子母親離世,鄰居等著看笑話,結(jié)果長(zhǎng)了見識(shí)

      子芫伴你成長(zhǎng)
      2026-02-23 12:21:40
      重回國乒?塵埃落定,劉國梁發(fā)聲,崗位曝光,布局國乒男隊(duì)發(fā)展

      重回國乒?塵埃落定,劉國梁發(fā)聲,崗位曝光,布局國乒男隊(duì)發(fā)展

      卿子書
      2026-03-06 09:25:27
      比賽還沒開打,上海申花先迎來兩個(gè)壞消息,新賽季斬獲開門紅懸了

      比賽還沒開打,上海申花先迎來兩個(gè)壞消息,新賽季斬獲開門紅懸了

      零度眼看球
      2026-03-07 08:58:12
      2026-03-07 13:40:49
      deephub incentive-icons
      deephub
      CV NLP和數(shù)據(jù)挖掘知識(shí)
      1940文章數(shù) 1456關(guān)注度
      往期回顧 全部

      科技要聞

      OpenClaw爆火,六位"養(yǎng)蝦人"自述與AI共生

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      體育要聞

      塔圖姆歸來:凱爾特人的春之綠

      娛樂要聞

      周杰倫田馥甄的“JH戀” 被扒得底朝天

      財(cái)經(jīng)要聞

      針對(duì)"不敢休、不讓休"怪圈 國家出手了

      汽車要聞

      逃離ICU,上汽通用“止血”企穩(wěn)

      態(tài)度原創(chuàng)

      親子
      時(shí)尚
      數(shù)碼
      健康
      房產(chǎn)

      親子要聞

      六個(gè)月寶寶查出散光,原因竟是父母長(zhǎng)期身旁玩手機(jī),媽媽懵了:我一直以為他閉著眼就沒事

      這些才是適合普通人的穿搭!搭配腰帶、多穿牛仔褲,簡(jiǎn)單舒適

      數(shù)碼要聞

      蘋果M5 Pro芯片GeekBench跑分曝光:多核破2.8萬

      轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

      房產(chǎn)要聞

      傳統(tǒng)學(xué)區(qū)房熄火?2月??诙址勘鸬陌鍓K竟然是…

      無障礙瀏覽 進(jìn)入關(guān)懷版