GPTCache是一种基于向量数据库技术的缓存层,为LLM应用提供语义缓存,从而显著减少数据检索时间、降低API调用开销,并提升应用的可扩展性。通过使用GPTCache,LLM应用可以摆脱性能和成本的限制,实现省钱、省时、省力的效果。
传统的缓存只能在键值相同的情况下检索数据,不适用于AIGC应用。而AIGC应用需要的是语义近似的缓存,例如"苹果手机"和"iPhone"实际上指的是同一样东西。因此,为了满足AIGC应用的需求,我们设计了一种全新的缓存,即GPTCache。
GPTCache可以对上百万个缓存的提问向量进行向量相似性检索,并从数据库中提取缓存的响应。这样一来,OSSChat的平均响应时间可以显著降低,同时也能节省更多成本。使用GPTCache,用户只需修改几行代码就可以缓存LLM的响应,将LLM应用的速度提升100多倍。
在搭建GPTCache系统时,我们选择了不使用Redis。因为Redis使用键值数据模型无法查询近似键,而AIGC应用中不同的单词可能具有相同的含义,需要通过语义缓存系统中的向量相似性检索来处理。此外,Redis的成本也较高,特别是当上下文较长时,存储内容所产生的费用会很高。因此,我们选择了基于磁盘的数据库作为缓存的存储介质。
总之,通过使用GPTCache,LLM应用可以实现显著的性能提升和成本节省。只需修改几行代码,就能让LLM应用的速度提升100多倍。