什么是上下文缓存
上下文缓存(Context API)是方舟提供的一个高效的缓存机制,旨在为您优化生成式AI在不同交互场景下的性能和成本。它通过缓存部分上下文数据,减少重复加载或处理,提高响应速度和一致性。
工作原理
前缀缓存 和 Session 缓存
当前方舟提供两种类型上下文缓存,分别为:前缀缓存和 Session 缓存。
- 前缀缓存:持续保留初始信息,适合静态Prompt模板的反复使用场景。
- Session 缓存:保留初始信息,同时自动管理上下文,在动态对话尤其是超长轮次对话场景的可用性更强,搭配模型使用,可以获得高性能和低成本。
核心特性
核心特性 | 前缀缓存 | Session缓存 | 特性说明 |
---|
初始信息保留 | √ | √ | - 降低延迟: 显著缩短响应时间。第一次的提示词被保留后,后续请求如果使用相同提示词则无需重新进行这部分的推理运算。
- 节省成本: 降低API调用的Token消耗。由于省去了部分计算,方舟将该部分通过命中后的折扣,让利给用户,仅收取少量的缓存存储和重新计算等成本。
|
上下文自动管理 | × | √ | - 上下文自动添加:最新轮次的问答会被自动加入缓存中,用户无需进行复杂的历史对话管理。
- 滑动窗口:
- 仅限character系列模型:每轮滑动。在最新轮次的问答加入缓存的同时汰换掉超出模型推理窗口的轮次。
- 其他模型:当某轮超过模型推理窗口,触发一次性滑动。以32K模型为例,在缓存超过28K时进行一次滑动,腾出4K的空间继续添加新的上下文。
|
应用场景
功能 | 场景举例 |
---|
前缀缓存 | - 标准化对话开场白
- 特定任务的指令
- 规则化模板,如FAQ系统的固定回答前缀
|
Session 缓存 | - 陪伴类AI的长期多轮对话
- 客服机器人需要连续回答多个相关问题
- 长篇文本生成需要回顾之前的内容
- 对于延时抖动极其敏感,希望控制发生抖动的时机
- 对于模型效果极其敏感,希望控制哪些历史对话被模型采纳的数量
|
更多详细说明请参见: