
如何一行压缩LLM内容Headroom UniversalCompressor API完整参数手册【免费下载链接】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 是一个在内容进入 LLM 之前压缩工具输出、日志、文件和 RAG 切片的开源项目编码代理节省约 20% tokenJSON 可节省 60–95%且回答不变。它的 Python 库中最灵活的一个入口就是UniversalCompressor——通过compress()一行调用即可自动检测内容类型JSON/代码/日志/文本、保留结构骨架、压缩冗余值并支持事后取回原文。本文带你读完compress()的全部参数与配置项。一行入门compress() 快捷函数如果你只需要丢进去、拿回来不必实例化任何类from headroom.compression import compress result compress({users: [{id: 1, name: Alice}]}) print(result.compressed) # 结构保留、值被压缩后的内容 print(result.savings_percentage) # 节省的 token 百分比该函数内部就是新建一个默认配置的UniversalCompressor然后调用compress()适合一次性脚本。可复用、可调参的场景请使用类形式from headroom.compression import UniversalCompressor, UniversalCompressorConfig config UniversalCompressorConfig(compression_ratio_target0.5) compressor UniversalCompressor(configconfig) result compressor.compress(content)compress() 方法参数详解compress()的签名只有三个参数源码universal.py参数类型必填说明contentstr✅要压缩的内容。短于min_content_length默认 100 字符会原样返回metadata中标记skipped: content too shortcontent_typeContentType/None❌跳过 ML 检测、手动指定内容类型。可取JSON、CODE、LOG、DIFF、MARKDOWN、TEXT、UNKNOWN枚举定义detector.py**kwargs—❌透传给结构处理器的选项如 JSON 处理器的精细开关 不传content_type时压缩器会先调用 Magika 深度学习检测器本地运行、约 5ms、支持 100 类型、99% 准确率自动判断类型。构造函数3 个可定制入口UniversalCompressor.__init__universal.py接受参数默认行为作用config默认UniversalCompressorConfig()压缩策略总开关下节详解handlers内置JSONCODE两个结构处理器注入自定义处理器替换某类内容的结构保留逻辑compress_fnKompress可用时→ 否则简单截断替换底层压缩函数只压缩被标记为非结构性的片段UniversalCompressorConfig7 个核心配置项这是整份手册里最值得背的表格universal.py配置项默认值含义use_magikaTrue是否启用 ML 检测设为False改用规则型FallbackDetectoruse_kompressTrue是否用 Kompress 模型压缩非结构内容use_entropy_preservationTrue高熵片段UUID、API Key、哈希自动豁免压缩entropy_threshold0.85熵保阈值越高越少片段被豁免min_content_length100内容短于该字符数直接跳过压缩compression_ratio_target0.3目标压缩率保留 30% ≈ 削减 70%ccr_enabledTrue原文存入 CCR 缓存压缩后可凭ccr_key取回 新手调参建议先只动compression_ratio_target。想更激进省 token 就调低如0.2担心丢信息就调高如0.5。CompressionResult 返回值字段速查compress()返回的CompressionResultuniversal.py信息量很大字段说明compressed/original压缩后内容 / 原文compression_ratio压缩后长度 ÷ 原文长度tokens_before/tokens_after压缩前后估算 token 数约 4 字符/tokentokens_saved⭐便捷属性实际省下的 token 数savings_percentage⭐便捷属性节省百分比content_type/detection_confidence检测出的类型及置信度0–1handler_used/preservation_ratio使用的结构处理器、被标记为结构性的比例ccr_keyCCR 存储键ccr_enabledTrue时非空可据此取回原文metadata检测原始标签、语言、处理器元数据等进阶批量压缩与自定义处理器批量压缩对多段内容逐个compress()会重复跑检测compress_batch()支持一次批量检测后逐条压缩universal.pyresults compressor.compress_batch([json_a, log_b, code_c])注册自定义处理器想保留某类内容的特殊结构实现get_mask()协议协议定义base.py后注册即可compressor.register_handler(ContentType.JSON, my_handler)参数选型速查表TL;DR你的场景推荐姿势脚本里临时压一段from headroom.compression import compress一行搞定已知内容是 JSON/代码传content_typeContentType.JSON省掉 5ms 检测内容里含密钥/UUID保持默认use_entropy_preservationTrue希望压缩后能取回原文保持默认ccr_enabledTrue记下ccr_key要更省 token调低compression_ratio_target如 0.2大批量 RAG 切片用compress_batch()相关源码与资料核心实现headroom/compression/universal.pyML 内容检测器headroom/compression/detector.py结构掩码系统headroom/compression/masks.pyJSON / 代码结构处理器headroom/compression/handlers/消息级压缩代理管线用headroom/compress.py项目文档与架构图解wiki/掌握这份手册后你可以根据业务场景精确控制 Headroom 的压缩行为——记住三个默认值的含义100 字符以下不压、目标保留 30%、高熵值自动豁免再配合CompressionResult里的savings_percentage验证效果就是一套完整的压缩—度量—调优闭环。【免费下载链接】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),仅供参考