Commit graph

23 commits

Author SHA1 Message Date
7d38046a82 原因分析: 之前的代码使用了一种所谓的“顶层自动缓存”非标准写法(在请求顶层直接塞入一个全局的 cache_control),但很多中转站或 Anthropic 官方 API 并不兼容这种格式。这会导致在解析和转发的过程中,错误地给多个内容块打上了缓存标记,最终超过了官方限制的“最多 4 个”上限。
修复方案: 我重写了 adapters/cc_anthropic_adapter.py 中的 optimize_cache_control 函数,改回了 Anthropic 官方支持的**块级别缓存(block-level prompt caching)**策略。

新逻辑会严格计算名额,最多只分配 4 个缓存断点。
它会优先把断点分配给 system 和 tools(因为这两个部分最占 Token 且最稳定)。
剩下的名额会根据窗口距离,动态分配给 messages 列表中最新的那几个文本块。
代码已修改完成,你可以直接重新测试一下 Claude 系列模型,这个 invalid_request_error 报错应该已经解决了。
2026-05-07 11:57:17 +08:00
root
4c6bede153 you hua le rizhi de xianshi 2026-05-05 14:30:31 +08:00
root
e373295cf5 add admin log 2026-05-05 13:42:35 +08:00
h88782481
bec7b3e5ef 修复缓存命中问题 2026-04-29 11:14:00 +08:00
h88782481
251437a760 尝试修复/v1/responses后端没有命中缓存的情况 2026-04-14 16:14:06 +08:00
h88782481
cb7350b100 更新docker-compose镜像名称 2026-04-05 22:13:30 +08:00
h88782481
a8f5ada8e1 回退旧版本 2026-03-26 11:34:27 +08:00
h88782481
cd577d17c3 修复bug 2026-03-26 11:29:02 +08:00
h88782481
70361242ab 重构代码 2026-03-22 08:24:19 +08:00
h88782481
56faf4fcf1 优化缓存命中问题 2026-03-15 16:26:07 +08:00
h88782481
2f2a3cce41 回滚 2026-03-15 14:10:15 +08:00
h88782481
72223ef412 修复缓存命中bug 2026-03-15 13:52:09 +08:00
h88782481
98f3ae24a0 修复缓存问题 2026-03-15 13:25:23 +08:00
h88782481
049f91e549 修复bug 2026-03-14 11:20:04 +08:00
h88782481
49c69c4cc0 修复日志 2026-03-14 11:04:55 +08:00
h88782481
3c4a50dc05 优化日志 2026-03-14 10:35:32 +08:00
h88782481
4de6db13f9 支持gimini格式,优化debug日志 2026-03-14 09:27:15 +08:00
h88782481
e726f11bad 添加修改模型请求头 2026-03-13 20:25:33 +08:00
h88782481
406a36af89 修复小bug 2026-03-13 17:53:51 +08:00
h88782481
ae059ffcb8 增加注入提示词功能 2026-03-13 17:22:28 +08:00
h88782481
f193c48ce1 补全注释 2026-03-10 08:43:07 +08:00
h88782481
96fbc4da80 优化代码 2026-03-09 19:43:51 +08:00
h88782481
202731df74 初始化提交 2026-03-09 14:18:42 +08:00