通过使用LangChain和GPTCache缓存将GPT API费用减少50%。
GPTCache使用嵌入算法将查询转换为嵌入,并使用向量存储对这些嵌入进行相似性搜索。
此过程允许GPTCache从该高速缓存存储中识别和检索类似或相关的查询。 您还将受益于显著的响应时间增加和API速率限制。
GPTCache 采用模块化设计,使用户可以轻松定制自己的语义缓存。系统为每个模块提供了多种实现方式,用户甚至可以开发自己的实现方式来满足自己的特定需求。
在语义缓存中,您可能会在缓存命中期间遇到误报,在缓存未命中期间遇到误报。GPTCache 提供了三个指标来衡量其性能,这有助于开发人员优化其缓存系统:
- 命中率:该指标量化了缓存成功满足内容请求的能力(与其接收的请求总数相比)。命中率越高表明缓存越有效。
- 延迟:该指标衡量处理查询以及从缓存检索相应数据所需的时间。更低的延迟意味着更高效、响应更灵敏的缓存系统。
- 召回率:该指标表示缓存服务的查询占缓存应服务的查询总数的比例。较高的召回率表明缓存正在有效地提供适当的内容。
其中包含一个示例基准测试,供用户开始评估其语义缓存的性能。
GPTCache 具有以下主要优点:
- 减少费用:大多数LLM服务根据请求数量和令牌计数的组合收取费用。GPTCache 通过缓存查询结果有效地最大限度地减少您的开支,从而减少发送到 LLM 服务的请求和令牌的数量。因此,您在使用该服务时可以享受更具成本效益的体验。
- 增强的性能:LLM采用生成式人工智能算法来实时生成响应,这个过程有时可能非常耗时。但是,当缓存类似的查询时,响应时间会显着缩短,因为结果是直接从缓存中获取的,从而无需与 LLM 服务交互。在大多数情况下,与标准 LLM 服务相比,GPTCache 还可以提供卓越的查询吞吐量。
- 适应性强的开发和测试环境:作为从事 LLM 应用程序的开发人员,您知道连接到 LLM API 通常是必要的,并且在将应用程序迁移到生产环境之前对其进行全面测试至关重要。GPTCache 提供了一个镜像 LLM API 的接口,并可容纳 LLM 生成的数据和模拟数据的存储。此功能使您能够轻松开发和测试您的应用程序,无需连接到 LLM 服务。
- 提高可扩展性和可用性:LLM 服务经常强制执行速率限制,这是 API 对用户或客户端在给定时间范围内访问服务器的次数施加的限制。达到速率限制意味着额外的请求将被阻止,直到经过一定时间,从而导致服务中断。借助 GPTCache,您可以轻松扩展以适应不断增加的查询量,从而确保随着应用程序用户群的扩展而保持一致的性能。
注意点:
- 您可以快速尝试 GPTCache 并将其投入生产环境,无需进行大量开发。但是,请注意,该存储库仍在大力开发中。
- 默认情况下,仅安装有限数量的库来支持基本缓存功能。当您需要使用附加功能时,会自动安装相关库。
- 确保Python版本为3.8.1或更高版本,检查:python --version
- 如果由于 pip 版本较低而安装库时遇到问题,请运行:python -m pip install --upgrade pip。
开发安装
clone GPTCache repo |
更多文档:
项目点击标题