Semantic Caching
了解语义缓存如何降低 AI 延迟和成本。通过实用的 Ultralytics YOLO26 示例,了解它如何应用于 LLM 和视觉流水线。
语义缓存是一种高级优化技术,主要用于生成式 AI和大型语言模型(LLMs),它根据查询的含义(语义)而不是确切文本来存储和检索响应。当识别出新提示词与之前已回答的问题本质上相同时,语义缓存可以绕过重新调用 AI 模型的需要,大幅减少处理时间和API 成本。
语义缓存的工作原理#
与要求字符串完全匹配的传统缓存不同,语义缓存会将传入的查询转换为称为嵌入的高维数值向量。当用户提交提示词时,使用Redis 语义缓存或类似内存存储的系统会执行向量搜索,将新向量与向量数据库中之前存储的向量进行比较。
这种比较依赖于数学距离度量,其中最常见的是余弦相似度。如果新查询与缓存查询之间的相似度分数超过预定义阈值(例如 0.95),系统就会将其记录为“缓存命中”。系统会立即返回存储的响应,完全跳过推理引擎。如果分数低于阈值,则会产生“缓存未命中”,促使模型生成新的响应,并存储新的嵌入-答案对,以供后续交互使用。这一工作流对于在现代云架构中扩展 AI 应用非常有效。
实际应用#
语义缓存对于在各种领域部署经济高效的 AI 解决方案至关重要。
- 客户支持聊天机器人: 在IT 支持台中,数百名用户可能会提出同一问题的不同问法(例如“如何重置密码?”与“忘记密码后的操作步骤”)。语义缓存会将这些意图识别为相同,从而确保模型只计算一次答案。这能大幅降低推理延迟,并减少API 管理解决方案的令牌用量。
- 视觉发现与 RAG: 在多模态流水线中,平台会使用特征提取来缓存参考图像的嵌入。当用户上传图像以查找视觉上相似的项目时,系统可以立即检索语义匹配的缓存结果,从而快速加速视觉推荐系统,而无需反复编码大型视觉输入。开发者经常集成LangChain等工具来编排这些缓存层。
区分相关的缓存术语#
要全面理解 AI 优化,最好将语义缓存与其他形式的内存管理区分开来:
- 与提示词缓存的比较: 提示词缓存是在活动会话期间保存静态上下文(例如长文档前缀)预先计算的数学状态,以加快后续查询。语义缓存则存储完整交互的最终文本或视觉输出,以服务于全新的但意图相同的请求。
- 与 KV Cache 的比较: KV Cache 是Transformer架构内部的一种底层内存机制,它会在逐令牌文本生成期间保存中间注意力状态,以支持实时推理。语义缓存运行在应用层,会在输入到达模型层之前缓存整个输入-输出交换过程。
在视觉领域模拟语义缓存#
以下 Python 代码片段演示了如何使用PyTorch和 ultralytics 包来模拟语义缓存的核心机制。通过使用Ultralytics YOLO26分类模型计算之前缓存的图像与新查询图像之间的相似度,系统可以判断是否有必要执行完整的推理流程。
import torch
from ultralytics import YOLO
# Load an Ultralytics YOLO26 classification model for embedding generation
model = YOLO("yolo26n-cls.pt")
# Extract the embedding for a previously 'cached' reference image
cached_embed = model.embed("reference_shoe.jpg")[0].flatten()
# Extract the embedding for a new user query image
new_embed = model.embed("user_uploaded_shoe.jpg")[0].flatten()
# Calculate cosine similarity to check for a semantic cache hit
similarity = torch.nn.functional.cosine_similarity(cached_embed, new_embed, dim=0)
# Apply a threshold to determine if the images are semantically equivalent
if similarity > 0.90:
print(f"Cache hit! Similarity: {similarity.item():.2f}. Returning cached response.")
else:
print(f"Cache miss! Similarity: {similarity.item():.2f}. Running full inference.")对于希望管理数据集并部署高度优化、能够与高级缓存架构无缝集成的计算机视觉模型的团队,Ultralytics Platform提供了直观的端到端环境,用于大规模训练、跟踪和提供模型服务。









