开发者生态
morning
Wayfinder Router:本地和托管 LLM 之间查询的确定性路由
2026-06-28
1 阅读
handfuloflight
确定性提示复杂性路由 - 将每个提示离线发送到本地或云模型,无需模型调用来决定。快速入门 · 基准 · 比较方式 · 解释者 · 变更日志 没有模型调用来决定路线 确定性和完全离线 根据您自己的数据进行校准 带上您自己的密钥 自托管 Wayfinder 会读取提示的形状(长度、标题、列表和代码)以及措辞中的难度提示,例如证明、数学和硬约束,并告诉您是否将其发送到小型本地模型或大型云模型。它以微秒为单位做出决定,离线运行,并且从不调用另一个模型来进行调用。没有 API 密钥、没有网络、没有模型调用来决定。您会得到分数和推荐;你用它做什么取决于你。便宜的提示保留在本地,困难的提示则转到昂贵的模型,并且您不再为“总结这一点”和“纠正我的打字错误”支付前沿价格。比较方式 大多数路由器通过调用模型来决定:经过训练的分类器、LLM 法官或托管 API。这会增加延迟、成本和一点随机性,从而为您省钱。 Wayfinder 会读取结构和措辞,因此每次的决定都是自由且相同的。路由器通过模型调用决定?自托管校准 Wayfinder 确定性结构分数 否 是 是 RouteLLM 训练分类器(偏好数据) 是 是 重新训练 NotDiamond / Martian 学习、托管 是 否 通过平台 OpenRouter(自动)托管自动路由器 是 否 — LiteLLM 提供商代理(不复杂路由) 否 是 n/a Wayfinder 不追求最高准确度数字。它是一款可以离线运行、零模型调用并可调整您自己的流量的路由器。默认情况下,它仅对提示结构进行评分。它还可以读取词汇提示(证明、数学、约束),但默认情况下会发出这些提示:对独立创作的提示进行的双盲测试显示词汇提升并不能泛化(它捕获了约 20% 的未见过的硬提示,但失去了简单的字数基线),因此它们是选择加入的——只有当您根据自己的流量词汇量校准它们时,才会提高它们的权重。一个提示的难度纯粹是语义上的——一个微妙的代码片段,一个看起来天真的“第 100 个素数是多少?” - 没有结构告诉,语义路由器会打败它。在盲测中幸存下来的优势是领先优势:确定性、亚毫秒级、离线路由决策,无需模型调用。基准测试( make benchmark )显示了它在诚实基线和完美预言的基础上获胜和失败的地方。将其指向 RouterBench 或 RouterArena 以获得分级数字。新来的,还是权衡一下?常见问题解答给出了直接的答案——包括它失败的地方(在 RouterBench 的短而难的项目上它并不比随机的好)以及为什么你仍然运行它。尝试演示(无密钥) 两种方式可以亲自查看路由决策 - 没有 API 密钥、没有模型、网络上没有任何内容。在您的终端中 — Wayfinder 调色板中的决策优先聊天。终端聊天在默认安装中提供,因此无需添加任何额外内容 - 或者通过 uvx 根本无需安装即可运行它: uvx wayfinder-router chat --dry-run # Zero install, Zero keys # 或: pip install wayfinder-router && wayfinder-router chat 每回合都会显示其路由位置( ● LOCAL / ◆ CLOUD )、结构分数和原因( /why )以及与始终云相比的运行节省。 /init 在不离开聊天的情况下设置模型,/route · /local · /cloud 强制转向,对话在会话之间持续 ( /threads )。在您的浏览器中 - 带有实时阈值滑块的网络聊天 UI: pip install " wayfinder-router[gateway] " wayfinder-router webchat --dry-run # opens http://127.0.0.1:8088/demo webchat 是一个精简的启动器(网关及其 /demo 页面; --no-open 、 --port 、 --host 0.0.0.0 、 --dry-run );服务是无头命令。两个表面都显示每条消息的路由位置(本地与云)、复杂性得分和原因(功能细分)以及与始终云相比节省的成本。在没有配置的情况下,两者都是仅决策的(--dry-run 用于网络;终端的预览),因此您可以通过零设置来查看它。要获得真正的回复,请运行 wayfinder-router init 到脚手架 [gateway.models](然后运行 wayfinder-router doctor 来确认您的密钥解析) - 请参阅快速入门。可与任何 OpenAI 兼容的 API 配合使用 Wayfinder 将每个调用转发到 OpenAI 风格的 /chat/completions 端点 — 因此,如果您的提供商这么说(大多数提供商都这么说),它就可以正常工作。一层是一个 base_url 、一个模型名称和一个在请求时从环境中读取的密钥;没有 SDK,没有每个提供商的代码。将免费的本地模型与托管模型配对,或运行两个云层。 …加上 Groq、Together、OpenRouter、Fireworks、DeepSeek 和本地服务器(vLLM、LM Studio、llama.cpp) - + 任何采用不记名密钥的 OpenAI 兼容端点。快速入门 将 Wayfinder 放在模型前面。您的应用程序不断使用 OpenAI API;您只需更改一个 base_url 即可。脚手架一个配置 - init 编写一个入门 wayfinder-router.toml (k