
GitHub
pages.github.com
LLM API调用的透明语义缓存
7天前制作者:Guglielmo Cerri
关于 GitHub
Khazad 是一个专为 LLM API 调用设计的透明语义缓存工具。它通过在 httpx 传输层拦截 LLM HTTP 流量,无需任何代码修改即可从 Redis 8 向量缓存中提供语义等效的请求结果。支持 OpenAI、Anthropic、Gemini、Azure OpenAI 和 Mistral 等主流模型。
核心功能
Khazad 的核心在于其透明性:你只需将 Khazad 作为 httpx 客户端的一个传输层包装器,所有 LLM 请求和响应都会自动被缓存和检索。它利用 Redis 8 的向量搜索能力,将请求嵌入为向量,并计算语义相似度。当新请求与缓存中的某个请求语义足够接近时,直接返回缓存响应,从而大幅减少 API 调用次数和延迟。
主要特性
- 零代码集成:无需修改现有 LLM 调用代码,只需简单配置 httpx 传输层。
- 模型感知与对话感知:能区分不同模型和对话上下文,避免误命中。
- 全流式支持:完美兼容流式响应,不影响用户体验。
- 可调相似度阈值:通过调整阈值平衡缓存命中率与响应准确性。
- TTL 管理:支持设置缓存过期时间,确保数据时效性。
适用场景
Khazad 特别适合开发、CI/CD、演示和生产环境中重复查询较多的场景。例如,在开发阶段频繁调试相同提示词,或在演示中反复展示固定问答,Khazad 能显著降低成本并提升响应速度。开源(MIT 许可证)且易于部署。