语义缓存:让AI响应快10倍,省一半API费
用户问的问题80%是重复的——「你们的退换货政策是什么」「你们支持哪些支付方式」。每次都要调LLM,又慢又贵。语义缓存能解决这个问题。
💡 你将学到
用户问的问题80%是重复的——「你们的退换货政策是什么」「你们支持哪些支付方式」。每次都要调LLM,又慢又贵。语义缓存能解决这个问题。
语义缓存是什么
普通缓存:完全相同的文字才能命中缓存。 语义缓存:意思相近的问题也能命中。
用户1问:「怎么退货?」 用户2问:「退换货流程是什么?」 用户3问:「我想退款,怎么办?」
语义缓存把这三个视为同一个问题,直接从缓存返回答案,不用调LLM。
怎么实现
from sentence_transformers import SentenceTransformer
import numpy as np
model = SentenceTransformer("all-MiniLM-L6-v2")
cache = {} # 向量→缓存的映射
def semantic_cache(question, threshold=0.85):
# 向量化当前问题
q_vec = model.encode(question, normalize_embeddings=True)
# 找最相似的缓存
for cached_q, cached_vec in cache.items():
similarity = np.dot(q_vec, cached_vec)
if similarity > threshold:
return cache[cached_q]["answer"]
# 没命中,调LLM
answer = call_llm(question)
# 存缓存
cache[question] = {"vector": q_vec, "answer": answer}
return answer
命中率通常在60-80%。也就是说,10次请求里有6-8次不用调LLM。
推荐使用Redis+向量搜索插件的方案做生产级语义缓存。
相关文章
相关文章
2026-07-23
使用Datadog进行AI Agent监控:2026年完整设置指南
2026-07-22
Ollama 本地设置指南 2026
2026-08-12
LLM开发路线图2026:转行者按顺序学什么
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
