Repolode
zilliztech

zilliztech/GPTCache

面向 LLM 查询的语义缓存库,复用相似问题的响应,以降低 API 成本和延迟。

Star
8,213
Fork
597
未关闭 Issue
100
最近提交
上个月

这是什么?

GPTCache 是一个缓存大语言模型 API 响应的 Python 库。它不只匹配完全相同的提问,而是将查询转换为向量,在向量库中检索语义相近的历史问题,命中时直接返回已存储的回答。对于存在大量相似请求的应用,这能减少重复调用、Token 消耗和响应耗时。

项目采用模块化设计,各部分均可替换:LLM 适配器支持 OpenAI、LangChain、Llama.cpp、Dolly 等;Embedding 生成器支持 ONNX、OpenAI、Cohere、Hugging Face、SentenceTransformers 等;缓存存储支持 SQLite、PostgreSQL、MySQL、DuckDB、DynamoDB 等;向量库支持 Milvus、Zilliz Cloud、FAISS、Chroma、PGVector、Qdrant、Weaviate 等;淘汰策略包括 LRU、LFU、FIFO 等。项目还提供服务端 Docker 镜像,便于任何语言通过网络调用缓存。

项目仍在快速迭代,不同版本之间 API 可能变化。官方已不再为新的大模型接口增加适配支持,并推荐自定义集成时使用 get 和 set 接口。

核心功能

  • 01通过 Embedding 和向量检索做语义匹配,而不仅是精确字符串匹配。
  • 02可插拔的 LLM 适配器,包括 OpenAI ChatCompletion 和 LangChain 集成。
  • 03支持 SQLite、PostgreSQL、MySQL、DynamoDB 等多种缓存存储。
  • 04支持 Milvus、FAISS、Chroma、Qdrant、Weaviate 等向量库。
  • 05支持通过 Redis 或 memcached 实现分布式缓存,便于水平扩展。
  • 06提供服务端 Docker 镜像,任何语言的应用都可以调用缓存。

适用场景

  • 在用户经常提出相似问题的聊天机器人中降低 OpenAI 等 LLM API 费用。
  • 通过复用历史回答,加快 LangChain 或 LlamaIndex 应用的响应速度。
  • 在本地开发和测试 LLM 应用时,避免每次都调用真实模型。
  • 借助 Redis 在多个服务副本之间共享同一份语义缓存。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install gptcache
  2. 2

    在现有 OpenAI 代码中初始化缓存

使用前须知

  • 项目处于快速开发阶段,API 可能随时变更。
  • 项目不再新增对新 LLM API 或模型的支持,README 建议改用其 get 和 set 接口。
  • 需要 Python 3.8.1 或更高版本。

标签

常见问题

GPTCache 是什么?
面向 LLM 查询的语义缓存库,复用相似问题的响应,以降低 API 成本和延迟。 GPTCache 是一个缓存大语言模型 API 响应的 Python 库。它不只匹配完全相同的提问,而是将查询转换为向量,在向量库中检索语义相近的历史问题,命中时直接返回已存储的回答。对于存在大量相似请求的应用,这能减少重复调用、Token 消耗和响应耗时。
GPTCache 可以免费使用吗?用的什么许可证?
GPTCache 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
GPTCache 还在维护吗?
半年内有更新。GPTCache 最近一次提交是在 2026年9月22日。
GPTCache 适合用来做什么?
在用户经常提出相似问题的聊天机器人中降低 OpenAI 等 LLM API 费用。 通过复用历史回答,加快 LangChain 或 LlamaIndex 应用的响应速度。 在本地开发和测试 LLM 应用时,避免每次都调用真实模型。 借助 Redis 在多个服务副本之间共享同一份语义缓存。
GPTCache 怎么安装和运行?
从 PyPI 安装该包: pip install gptcache 在现有 OpenAI 代码中初始化缓存
在哪里获取 GPTCache?
源代码和安装说明在 GitHub 上:https://github.com/zilliztech/GPTCache

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目