RouteWise¶
面向多供应商 LLM 路由的延迟–成本优化
RouteWise 是一个零运行时依赖的 Python 库,用于决定每一次 LLM API 请求应该发给哪个供应商。 应用提供供应商价格、负责派发返回的尝试,并回报结果,RouteWise 据此学习。
-
安装
需要 Python 3.10 或更高版本,无运行时依赖。
-
核心概念
供应商、决策、结果回报与路由闭环。
-
API 参考
全部公开类型与方法。
-
能力边界
明确列出这个库不做什么。
安装¶
包名
PyPI 上的 routewise 是一个无关且不兼容的项目。请安装 llm-routewise
发行包,并 import llm_routewise。
路由一次请求¶
import llm_routewise as rw
router = rw.Router(
[
rw.Provider("fast", price_in=3.0, price_out=15.0, price_cached=0.30),
rw.Provider("cheap", price_in=0.15, price_out=0.60),
],
alpha=0.25, # 成本预算:0 表示最便宜;1 表示放开整个价格区间以优化延迟。
)
decision = router.route(
input_tokens=800,
estimated_cached_tokens=600, # 预计命中前缀缓存的 prompt 部分。
)
response = call_your_provider(decision.provider)
decision.completed(
ttft_ms=response.ttft_ms,
output_tokens=response.output_tokens,
cached_tokens=response.cached_tokens,
)
供应商提供缓存价时,缓存输入按缓存价计费——见前缀缓存。
RouteWise 只做决策,派发由应用负责
Router 计算决策,但不发起任何网络 I/O,也不读取 API key。供应商客户端、
凭据和派发都归应用所有。完整清单见能力边界。
只使用公开 API 的完整离线示例:
仓库结构¶
main 分支保存公开库、文档、示例、测试和发布工具。EuroSys 论文 artifact 单独
维护在 eurosys27-ae
分支上,使其模拟器、实验、数据准备和复现环境保持自包含。
引用¶
@inproceedings{tian2027routewise,
title = {{RouteWise}: Latency--Cost Optimization for Multi-Provider LLM Routing},
author = {Muxin Tian and Haoran Ni and Yiyan Zhai and Yangsun Park and Juncheng Yang},
booktitle = {Proceedings of the 22nd European Conference on Computer Systems (EuroSys '27)},
year = {2027}
}