在线服务通常表现出数据局部性,用户经常访问流行或趋势内容。缓存系统通过存储通常访问的数据来利用这种行为,这反过来减少了数据检索时间,提高了响应时间,并减轻了后端服务器的负担。传统缓存系统通常利用新查询和缓存查询之间的精确匹配来确定请求的内容在获取数据之前是否在缓存中可用。
然而,由于LLM查询的复杂性和多,对LLM缓存使用精确匹配的方法效果较差,导致缓存命中率较低。为了解决这个问题,GPTCache采用了语义缓存等替代策略。语义缓存识别并存储相似或相关的查询,从而提高缓存命中概率并提高整体缓存效率。
GPTCache使用嵌入算法将查询转换为嵌入,并使用向量存储对这些嵌入进行相似性搜索。这个过程允许GPTCache从缓存存储中识别和检索相似或相关的查询,如模块部分所示。
GPTCache采用模块化设计