Headroom LiteLLM回调集成一行代码让100供应商实现全量压缩【免费下载链接】headroomCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.项目地址: https://gitcode.com/GitHub_Trending/head/headroomHeadroom 是面向 AI Agent 的上下文压缩层能在消息进入 LLM 之前对工具输出、日志、文件与 RAG 分块做智能压缩。借助 Headroom 的 LiteLLM 回调HeadroomCallback你只需一行代码就能让 LiteLLM 支持的 100 家供应商OpenAI、Anthropic、Bedrock、Azure、Vertex AI、Groq、Ollama……全量享受 Token 压缩——答案不变成本大降。为什么需要 Headroom LiteLLM 回调很多团队用 LiteLLM 做统一 LLM 网关一个litellm.completion()调用后面可以接任意供应商。但网关解决的是接入统一没解决上下文太贵 工具输出、JSON 结果动辄数千 Token逐字进模型就是逐字付费 多供应商切换时每个请求的 Token 账单都不同省一块算一块 Headroom 实测JSON 类内容压缩 60–95%编码 Agent 场景压缩 15–20%且答案不变。Headroom 的回调方案妙在压缩发生在 LiteLLM 发请求之前pre_call_hook对所有供应商透明生效业务代码零改动。一行代码安装HeadroomCallback 最快配置方法先安装依赖pip install headroom-ai litellm然后只需一行注册回调import litellm from headroom.integrations.litellm_callback import HeadroomCallback litellm.callbacks [HeadroomCallback()] # 之后所有调用自动压缩供应商随便切 response litellm.completion(modelgpt-4o, messages[...]) response litellm.completion(modelbedrock/claude-sonnet, messages[...]) response litellm.completion(modelazure/gpt-4o, messages[...])注册完成后无论走哪家供应商、同步还是异步completion()/acompletion()消息都会在发出前被压缩。实现入口见 headroom/integrations/litellm_callback.py。压缩原理消息如何被自动压缩你调用litellm.completion()提交消息HeadroomCallback的async_pre_call_hook拦截并压缩消息路由到 SmartCrusher 压 JSON、CodeCompressor 压代码、Kompress 压长文本LiteLLM 把压缩后的消息转发给供应商响应原样返回格式不变。核心拦截逻辑见 headroom/integrations/litellm_callback.py。本地模式 vs 云端模式两种 Headroom 回调用法HeadroomCallback提供两种工作模式按需选择维度本地模式默认云端模式开启方式HeadroomCallback()HeadroomCallback(api_keyhdr_xxx)压缩位置进程内调用headroom.compress()Headroom Cloud API附加能力无外部依赖组织级 CCR、TOIN 学习、分析看板依赖无需pip install httpx本地模式压缩完全在本地完成数据不出机器。默认参数min_tokens500低于 500 Token 不压、model_limit200000模型上下文上限均可在构造时调整云端模式也可用环境变量HEADROOM_API_KEY注入密钥无需硬编码。LiteLLM Proxy 部署ASGI 中间件一行接入如果你把 LiteLLM 跑成代理服务器proxy server推荐用 ASGI 中间件拦截/v1/messages、/v1/chat/completions、/v1/responses等路由from litellm.proxy.proxy_server import app from headroom.integrations.asgi import CompressionMiddleware app.add_middleware(CompressionMiddleware)不想改代码直接在litellm_config.yaml里声明回调即可litellm_settings: callbacks: [headroom.integrations.litellm_callback.HeadroomCallback]中间件实现见 headroom/integrations/asgi.py集成方案总览见 wiki/integration-guide.md。如何查看 Token 节省效果每次压缩都会写一条日志一眼看到前后 Token 数、节省量与压缩率Headroom: 10144 → 1260 tokens (saved 8884, 88%) [total saved: 8884]也可以随时读取回调实例的累计节省量print(cb.total_tokens_saved) # 所有调用累计节省的 Token常见问题Headroom LiteLLM 集成 FAQQ会改变模型响应格式吗不会。Headroom 只修改输入消息响应原样返回。Q压缩丢了 LLM 需要的内容怎么办Headroom 用 CCRCompress-Cache-Retrieve机制缓存原始内容模型可调用headroom_retrieve按需取回全文压缩是完全可逆的。Q会引入多少延迟约 15–200ms取决于内容大小。对大 JSON 工具输出省下的生成时间远超压缩耗时。Q和 LiteLLM 自带的 backend 选项冲突吗不冲突。代理侧--backend bedrock/vertex_ai是Headroom 代理经 LiteLLM 调云厂商的机制与本文的回调集成是两条独立路径详见 docs/content/docs/litellm.mdx。参考文档与源码路径官方 LiteLLM 集成文档docs/content/docs/litellm.mdx集成方案指南wiki/integration-guide.md回调实现源码headroom/integrations/litellm_callback.pyASGI 中间件源码headroom/integrations/asgi.py回调回归测试tests/test_litellm_callback.py一行litellm.callbacks [HeadroomCallback()]你的整个 LLM 网关从此每发一条请求都在省钱——这正是 Headroom同答案、少 Token理念的落地方式。【免费下载链接】headroomCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.项目地址: https://gitcode.com/GitHub_Trending/head/headroom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考