laya-compactor在单次前向传播中评分整个检索批次,删除不重要的文档块,保留94.5%黄金文档,SQuAD上答案完全一致。
你的 RAG 流程检索了 12 个 chunk,因为检索评分说了"也许有关"。你的 LLM 把它们全读了。你为它们全部付费。但答案质量其实只取决于第 2 和第 7 个 chunk。
9 月 29 日,OpenAI 推出了基于 Luna 的 Decisions API;9 月 15 日,TypeSafe 推出了 Jev。两者都是快速的决策模型,正是为这类问题设计的:在昂贵模型运行之前先决定什么重要。但它们都是 API。你的文档要离开你的机器,而且每次决策都要付费。
laya-compactor 在本地做同样的事,免费的。它在一次前向传播中对整个检索批次评分,决定哪些文档留在上下文中、哪些被裁掉。
70% fewer input tokens
Zero answer-quality loss on SQuAD (exact match: 0.345 vs 0.345)
94.5% of gold documents retained on HotpotQA
$0 per compaction decision
一个原则驱动着这个设计:删除,而不是重写。
这个工具永远不会对你的文档做摘要或改写。它原样保留重要的部分,移除其余的,并给出可审计的理由(低分或预算耗尽)。证据保持完整,供 LLM 推理。
+--------------------------------------------------+
| Retrieval batch (12 docs, ~3,200 tokens) |
| |
| laya decision engine (one forward pass, local) |
| scores each doc: 0=irrelevant .. 3=essential |
| |
| Budget: keep top-scoring docs until limit |
| |
| Output: 4 docs, ~970 tokens, same answer |
+--------------------------------------------------+
from laya_compactor import compact
result = compact(
question="What is the refund policy for annual plans?",
documents=retrieved_chunks,
token_budget=1000,
)
# result.kept: the documents that survived
# result.dropped: [{doc, score, reason}] for the ones cut
基准测试(全部)
每个数据集 200 题,BM25 检索,生成器和盲评判由 Z.ai 的 GLM-5.3-flashX 驱动:
在 SQuAD 上精确匹配完全一致:压缩器在移除噪声的同时没有影响信号。在 HotpotQA 上下降了 3 个百分点,但保留了 94.5% 的 gold 文档,意味着损失来自多跳推理,而不是切错了 chunk。截断基线(只留头部、只留尾部)在两者上表现都更差。
注意事项还是有的:CPU 延迟很明显(一批数据的 p50 在 6.3 到 10 秒之间)。多跳问题仍然困难。评分量规敏感性研究提交在一个手工标注的 100 行数据集上,所以你可以清楚地看到评分在哪些地方是脆弱的。
针对你已在用的两个框架的即插即用:
# LangChain
from langchain.retrievers import ContextualCompressionRetriever
retriever = ContextualCompressionRetriever(
base_compressor=LayaCompactor(token_budget=1000),
base_retriever=your_retriever,
)
# LlamaIndex
from laya_compactor.integrations import LayaNodePostprocessor
query_engine = index.as_query_engine(
node_postprocessors=[LayaNodePostprocessor(token_budget=1000)],
)
pip install laya-compactor
自带 CLI:laya-compact --question "..." --docs docs/ --budget 1000
系列其余工具
这是基于同一理念构建的四个工具中的第二个:在 LLM 流程中做本地化的、可衡量的决策。
laya-router:在便宜模型和前沿模型之间路由提示词,成本降低 54.9%
laya-triage:支持工单分类,从 51% 微调到 90.5% 的意图准确率
laya-phishield:可解释的钓鱼检测,每 1000 封邮件 0 美元
每一个工具都在 README 中附带基准测试,包括那些不好看的数字。