优化 LLM 效率:使用 Adola 将输入 Token 减少 70%
随着大语言模型(LLM)被集成到生产环境中,与庞大上下文窗口相关的成本和延迟正成为关键瓶颈。当开发者实现检索增强生成(RAG)或复杂的代理工作流时,常会遇到“噪声”上下文——冗余信息、无关片段或臃肿的工具记录——这些会在不提升最终答案价值的情况下增加 Token 消耗。
Adola 推出了 Rose 1,这是一款语义提示压缩引擎,旨在模型调用前裁剪这些噪声。通过专注于“保留重要内容”,Rose 1 目标是将输入 Token 减少高达 70%,同时确保模型的核心推理和事实准确性保持完整。
语义压缩的工作原理
不同于可能在提示末尾截断重要信息的简单截断,Adola 使用语义压缩。该过程识别并移除冗余或无关的数据,同时保留回答特定查询所需的关键文本片段。
例如,在技术支持场景中,提示可能包含来自支持线程的重复笔记或无关的工单历史。Rose 1 会过滤这些内容,仅保留模型提供安全、准确响应所必需的关键模式、政策例外、账户层级和引用轨迹。
性能与基准测试
提示压缩的主要挑战之一是“让模型失明”的风险——删除过多信息导致准确率下降。Adola 已在六个主要评估集上发布了 Rose 1 的生产基准测试,展示了即使在 70% 压缩率(仅保留原始提示的 30%)下也能保持高度稳定性。
基准测试结果
| 评估集 | 关注领域 | 准确率影响 |
|---|---|---|
| AIME | Competition Math | 0% decrease |
| GPQA Diamond | Expert Science QA | 0% decrease |
| GDPval-AA | Professional Tasks | 0% decrease |
| CommonsenseQA | Commonsense Reasoning | 0% decrease |
| GSM8K | Grade-school Math | 0% decrease |
| ARC-Challenge | Grade-school Science | 2% decrease |
这些结果表明,对于绝大多数复杂推理任务,语义噪声可以被剔除,而不会影响模型得出正确结论的能力。
生产使用案例
Adola 被定位为“模型前置 API”或提示网关,这意味着它可以嵌入现有工作流,而无需更换模型提供商。关键应用领域包括:
1. 代理轨迹
在多步骤的代理工作流中,工具记录可能变得异常冗长。Adola 可以在下一步规划之前裁剪这些记录,降低后续对话轮次的成本。
2. RAG 检索
检索系统常常过度检索块以确保答案存在。Rose 1 在保留包含答案的片段的同时,压缩这些过度检索的块,从而优化上下文窗口。
3. 支持副驾驶
对于客服机器人,压缩工单历史、政策文档和账户上下文,使模型能够处理更多的历史和文档,而不会触及 Token 限制或增加延迟。
实现
该工具旨在方便开发者使用,提供 Python、JavaScript、TypeScript、Go 和 Rust 的 SDK。典型的实现方式是将原始上下文和用户查询发送至 Adola API,并指定目标压缩率。
from adola import Adola
client = Adola(api_key="rose_...")
result = client.compress(
input=open("retrieved_context.txt").read(),
query="Which incident caused latency?",
compression={"target_ratio": 0.3},
include_spans=False,
)
compressed = result["output"]
社区观点
虽然最初的反馈凸显了成本节约的潜力,但部分用户对压缩策略的灵活性提出了疑问。一位用户指出:
“我可以根据优化目标选择一种 Token 减少策略吗?例如,我可能接受质量下降,以换取巨大的成本节约。”
这表明对在准确性与激进成本削减之间进行更细粒度控制的需求,这一功能将使开发者能够根据任务的具体关键性调节压缩水平。