上下文缓存(Context Caching)技术的基本原理是,系统预先存储那些可能会被频繁请求的大量数据或信息。这样,当用户再次请求相同信息时,系统可以直接从缓存中快速提供,而无需重新计算或从原始数据源中检索,从而节省时间和资源。
个人开发者也可以使用Langchain的内置缓存机制,在模型生成新的回答之前,使用缓存快速生成响应。 这样有两个好处,一是能显著提高性能,特别是在重复请求时。再就是可以极大的降低成本,kimi 声称上下文缓存能降低使用者90%的成本。
以下是基于Langchain实现的一个缓存demo:
from langchain import LangChain
lc = LangChain(model="gpt-3", cache=True)
# 第一次生成响应并缓存
response = lc.generate("Tell me about the Great Wall of China.")
print(response)
# 使用缓存中的响应
cached_response = lc.generate("Tell me about the Great Wall of China.")
print(cached_response)
在这个demo中,我们在初始化langchain 模型实例的时候,选择了cache = true。 进行第一次访问的时候,会调用模型生成回答。 进行第二次查询相同的文本的时候,由于之前的缓存存在,不会在调用模型生成新的的响应。 这种设计模式可以极大的减少使用成本,并提升响应速度。