
LLMRouter
一个接口管多个大模型,自动挑最划算的那个
LLMRouter 是一个开源的 LLM 路由库,用来解决多模型调用场景下「该把请求发给哪个模型」的问题。随着 GPT、Claude、Llama、Qwen 等模型并存,开发者往往面临成本、延迟、质量三者难以兼顾的困境:全用最强模型太贵,全用便宜模型效果差。LLMRouter 提供统一的路由层,可根据请求内容、任务类型、预算或性能指标,自动选择最合适的模型,并支持回退、负载均衡、成本控制等策略。它把路由逻辑从业务代码中抽离,让应用可以灵活切换或组合多个模型后端,同时保持接口一致。核心能力包括:可配置的路由策略、多提供商适配、按成本或延迟优化、失败自动降级,以及便于扩展的插件式架构。适合需要同时接入多个 LLM 并做精细成本与效果权衡的团队。
项目数据
使用教程
环境要求
- Python 3.10(README 徽章标注 PYTHON-3.10)
- 建议使用虚拟环境(README 示例使用 anaconda3)
- 调用 LLM 服务时需要对应提供商的 API Key
- 可选:RouterR1 相关支持需要 GPU
- 可选:接入 ComfyUI 需先安装 ComfyUI
安装与启动步骤
-
1克隆代码仓库
从源码安装的第一步,README 要求先 clone 仓库再以可编辑模式安装。执行后进入项目目录。
git clone https://github.com/ulab-uiuc/LLMRouter.git cd LLMRouter -
2基础安装
在虚拟环境中以 editable 模式安装基础包,只包含核心依赖,适合大多数路由场景。
pip install -e . -
3安装全部可选依赖
需要全部可选能力时使用,会安装额外的可选依赖包,体积更大。
pip install -e ".[all]" -
4或从 PyPI 安装
不想拉源码时的替代方案,直接安装发布到 PyPI 的包,适合快速试用。
pip install llmrouter-lib -
5准备配置文件
所有路径和参数都由 YAML 控制,可用仓库自带示例配置 llmrouter/data/sample_config.yaml,按需修改后即可运行。
-
6配置 API Key
运行推理(inference)和路由到真实模型时必须提供 API Key,按 README 的 Setting Up API Keys 章节配置后再执行推理。
-
7按需接入 ComfyUI
若要使用 ComfyUI 自定义节点,需先安装 ComfyUI 并创建两个符号链接,然后启动其服务。
python /path/to/ComfyUI/main.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
data_path.llm_data | 是 | 候选 LLM 列表 JSON 的路径,路由时从中选择模型 | data/example_data/llm_candidates/default_llm.json |
serve.host | 否 | OpenClaw Router 服务监听地址 | 0.0.0.0 |
serve.port | 否 | OpenClaw Router 服务监听端口 | 8000 |
router.strategy | 否 | 路由策略,可选 random、round_robin、rules、llm、llmrouter | llm |
api_keys.together | 否 | 提供商 API Key,可用环境变量占位符注入 | ${TOGETHER_API_KEY} |
llms.<名称>.model | 否 | 候选模型标识,配合 provider、base_url、description 使用 | meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo |
如何确认成功
执行 pip install -e . 无报错,并能成功导入库模块(如 from llmrouter.models.meta_router import MetaRouter)即表示安装完成。
常见问题
Q:缺少某些依赖怎么办?
A:改用可选依赖全量安装:pip install -e ".[all]",可按 README 说明一次性装齐所有可选依赖。
Q:RouterR1 支持需要什么条件?
A:README 标注安装 RouterR1 支持需要 GPU,无 GPU 环境请使用基础安装。
Q:API Key 从哪里配置?
A:README 提示第 3 步需要调用 LLM 服务的 API Key,参照 Setting Up API Keys 章节配置;OpenClaw 示例用 ${TOGETHER_API_KEY} 形式引用环境变量。
Q:配置项写在哪里?
A:所有路径和参数都由 YAML 配置控制,可从 llmrouter/data/sample_config.yaml 复制修改;更详细的文件格式见 llmrouter/data/README.md。
Q:如何自己实现一个路由器?
A:继承 llmrouter.models.meta_router.MetaRouter,实现 route_single 与 route_batch,并把 router.py 和 config.yaml 放在 custom_routers/你的目录下。
注意事项
- 本文档只覆盖 README 中出现的安装与配置信息,推理命令在节选中被截断,需查阅仓库文档补全。
- 仓库给出的示例配置可直接使用,也可按自己的数据目录和模型列表修改。
- 运行推理与真实调用模型都会产生费用,请先确认 API Key 与预算策略。
- ComfyUI 接入为可选能力,需另行安装 ComfyUI 并创建两个符号链接。
核心亮点
- 提供统一路由层,业务代码无需关心具体模型提供商,切换模型只改配置
- 支持按成本、延迟、质量等维度做策略路由,便于控制预算和优化体验
- 插件式架构,便于接入新模型或自定义路由规则,扩展性较好
不足之处
- 项目较新,路由策略的成熟度和最佳实践文档可能还在完善中
- 生态和社区规模相比主流 LLM 框架仍较小,长期维护待观察
适用场景
- 多模型应用需要按请求类型自动选择便宜或强力的模型
- 预算敏感场景下按成本动态路由,避免全部调用高价模型
- 需要模型故障自动降级或负载均衡的生产环境
替代项目
LiteLLM、RouteLLM
项目介绍
上一篇:latitude-llm
下一篇:llm-checker
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···