当前位置: 首页 > news >正文

LLMRouter:面向LLM路由的开源库(官方README)

🚀 LLMRouter:面向LLM路由的开源库(官方README)

声明:📝 作者:甜城瑞庄的核桃(ZMJ)
原创学习笔记,欢迎分享,但请保留作者信息及原文链接哦~

原项目地址:https://github.com/ulab-uiuc/LLMRouter
官方文档:https://ulab-uiuc.github.io/LLMRouter/
Stars:1K+(2026年1月突破)
License:MIT |语言:Python 3.10


✨ 简介

LLMRouter是一个智能路由系统,通过为每条查询动态选择最合适的模型,来优化大语言模型(LLM)的推理过程。为实现智能路由,它提供以下核心能力:

  1. 🚀智能路由:根据任务复杂度、成本和性能需求,自动将查询路由到最优 LLM。
  2. 📊多种路由模型:支持超过16种路由模型,划分为四大类别——单轮路由器、多轮路由器、智能体路由器、个性化路由器,覆盖 KNN、SVM、MLP、矩阵分解、Elo评分、图路由、BERT路由、混合概率方法、变换分数路由器等多种策略。
  3. 🛠️统一CLI:完整的命令行界面,支持训练、推理,以及基于 Gradio 的交互式聊天界面。
  4. 📈数据生成管道:完整的训练数据生成流水线,支持 11 个基准数据集,含自动 API 调用与评估。

📰 最新动态

  • 🖥️[2026-02]ComfyUI 可视化界面正式发布!现在可以通过可视化方式构建数据生成和路由管道,拖拽节点即可训练路由器,并实时监控性能。详见 ComfyUI 界面。

  • 🔗[2026-02]OpenClaw Router发布——支持 OpenAI 兼容接口的生产服务器,同步发布 llmrouter-lib v0.3.1。可将 LLMRouter 部署为生产 API 服务器,与 Slack、Discord 等消息平台无缝集成(通过 OpenClaw)。支持多模态理解(图像/音频/视频)、检索增强路由记忆、流式输出,以及全部 16+ 种路由策略。详见 OpenClaw Router 集成。

  • [2026-01]LLMRouter突破 1K GitHub Stars!同步发布 llmrouter-lib v0.2.0。更新内容包括:服务商字典格式配置(OpenAI、Anthropic 等)和多模态路由支持(视频/图像 + 文本),支持 Geometry3K、MathVista、Charades-Ego 数据集。这是首个集成 16+ 路由器、统一 CLI、Gradio UI 和 11 个数据集的开源 LLM 路由库。通过pip install llmrouter-lib安装。

  • 🚀[2025-12]LLMRouter正式发布——更智能 🧠、成本感知 💸 的 LLM 路由,集成 16+ 路由器 🧭、统一llmrouterCLI 🛠️,以及自定义路由器插件工作流 🧩。


🔗 目录导航

  • 支持的路由器
  • 安装
  • 使用自定义数据集
  • 训练路由器
  • 通过路由器运行推理
  • 路由器交互式聊天界面
  • ComfyUI 可视化界面
  • 创建自定义路由器
  • 添加自定义任务
  • OpenClaw Router 集成
  • 致谢
  • 引用

🧭 支持的路由器

单轮路由器(Single-Round Routers)

路由器训练推理描述
knnrouter基于 K近邻(KNN)的路由
svmrouter基于支持向量机(SVM)的路由
mlprouter基于多层感知机(MLP)的路由
mfrouter基于矩阵分解(MF)的路由
elorouter基于 Elo 评分的路由
routerdc基于双对比学习(Dual Contrastive Learning)的路由
automix自动模型混合
hybrid_llm混合 LLM 路由策略
graphrouter基于图神经网络(Graph)的路由
causallm_router因果语言模型(Causal LM)路由器
smallest_llmN/A始终路由到最小模型(基线)
largest_llmN/A始终路由到最大模型(基线)

多轮路由器(Multi-Round Routers)

路由器训练推理描述
router_r1外部链接用于多轮对话的预训练 Router-R1 模型(基于强化学习,NeurIPS 2025)

个性化路由器(Personalized Routers)

路由器训练推理描述
gmtrouter基于图的个性化路由器,学习用户偏好
personalizedrouter基于 GNN 的个性化路由器,包含用户特征建模

智能体路由器(Agentic Routers)

路由器训练推理描述
knnmultiroundrouter基于 KNN 的复杂任务智能体路由器
llmmultiroundrouterN/A基于 LLM 驱动的复杂任务智能体路由器

🚀 快速开始

安装

从源码安装

克隆仓库并以可编辑模式安装(推荐使用虚拟环境,如 anaconda3):

# 克隆仓库gitclone https://github.com/ulab-uiuc/LLMRouter.gitcdLLMRouter# 创建并激活虚拟环境conda create-nllmrouterpython=3.10conda activate llmrouter# 安装包(基础安装)pipinstall-e.# 可选:安装含 RouterR1 支持(需要 GPU)# RouterR1 在 vllm==0.6.3(torch==2.4.0)下测试通过,extra 会固定这些版本pipinstall-e".[router-r1]"# 可选:安装全部可选依赖pipinstall-e".[all]"
从 PyPI 安装
pipinstallllmrouter-lib

🔑 配置 API Key

LLMRouter 需要 API Key 来进行 LLM API 调用(推理、聊天、数据生成)。通过设置API_KEYS环境变量来配置:

💡免费 NVIDIA API Key:LLMRouter 中使用的 NVIDIA 端点提供免费可用的 API Key。访问 https://build.nvidia.com/ 注册账户,即可免费生成 API Key。

服务商字典格式(多服务商推荐)

当你有来自不同服务商的模型(如 NVIDIA、OpenAI、Anthropic)并希望为每个服务商使用不同 API Key 时,使用此格式:

exportAPI_KEYS='{"NVIDIA": "nvidia-key-1,nvidia-key-2", "OpenAI": ["openai-key-1", "openai-key-2"], "Anthropic": "anthropic-key-1"}'

字典格式说明:

  • 键(Key):服务商名称(须与 LLM 候选 JSON 中的service字段匹配)
  • 值(Value):支持以下三种格式:
    • 逗号分隔字符串:"key1,key2,key3"
    • JSON 数组:["key1", "key2", "key3"]
    • 单个字符串:"key1"
  • 服务商匹配:系统自动将 LLM 候选 JSON 中的service字段与 API Key 字典匹配
  • 轮询负载均衡:每个服务商维护独立的轮询计数器
  • 错误处理:若在字典中找不到服务商,将抛出清晰的错误信息并列出可用服务商

service字段的 LLM 候选 JSON 示例:

{"qwen2.5-7b-instruct":{"service":"NVIDIA","model":"qwen/qwen2.5-7b-instruct","api_endpoint":"https://integrate.api.nvidia.com/v1"},"gpt-4":{"service":"OpenAI","model":"gpt-4","api_endpoint":"https://api.openai.com/v1"}}
传统格式(单服务商或向后兼容)

JSON 数组格式(同一服务商多 Key):

exportAPI_KEYS='["your-key-1", "your-key-2", "your-key-3"]'

逗号分隔格式(多 Key 备选):

exportAPI_KEYS='key1,key2,key3'

单个 Key

exportAPI_KEYS='your-api-key'

注意事项

  • API Key 用于推理聊天界面数据生成(管道第3步)
  • 多个 Key 可实现 API 调用的自动负载均衡
  • 使用字典格式时,LLM 候选 JSON 中的service字段须与API_KEYS字典的键匹配
  • 该环境变量须在运行推理、聊天或数据生成命令前设置完毕
  • 若需持久化配置,可将 export 命令添加到 shell 配置文件(如~/.bashrc~/.zshrc

🌐 配置 API 端点

API 端点可在两个层级指定(按优先级顺序解析):

  1. 模型级别(最高优先级):LLM 候选 JSON(default_llm.json)中的api_endpoint字段
  2. 路由器级别(回退):路由器 YAML 配置中的api_endpoint字段
  3. 错误:若两者均未指定,则抛出描述性错误

LLM 候选 JSON(模型级别端点配置):

{"qwen2.5-7b-instruct":{
http://www.jsqmd.com/news/644762/

相关文章:

  • 高性能分布式机器人学习架构设计与原理深度解析
  • 暗黑破坏神2存档编辑器:5分钟解锁你的单机游戏无限可能
  • 5分钟搞定B站直播推流码获取:告别官方限制,开启专业直播体验
  • IEC 61850协议栈实战:libIEC61850开源库深度解析与电力自动化架构设计
  • Sparse Sinkhorn Attention:基于排序网络的点云全局稀疏注意力机制
  • Sonic数字人实战:快速为课程音频匹配虚拟讲师,提升课件制作效率
  • hack.chat 移动端优化技巧:响应式设计与触摸交互全指南
  • 利用OpenWrt dnsmasq实现精细化网络控制:按需分配网关与DNS的实战指南
  • ZotCard:从文献碎片到知识体系的Zotero卡片笔记革命
  • Ubuntu网络配置终极指南:nmcli vs netplan实战对比(附常见问题解决)
  • 如何零成本批量提取B站视频音频?BilibiliDown完整指南
  • 026、复杂应用架构:基于LangChain构建智能数据分析助手
  • 数据智能体是什么?怎么理解数据智能体?
  • Move Mouse终极指南:免费防休眠工具完整使用教程
  • 终极怀旧指南:3分钟快速恢复B站经典界面,告别新版复杂设计
  • 如何快速掌握微信聊天记录数据保存:开源工具的终极指南
  • XB5307A单节锂离子/锂聚合物可充电电池组保护芯片
  • 国内哪家公司专业做空气滤芯焊接设备?上海君奥专注滤芯焊接设备,滤芯厂采购不踩雷省大钱,避坑指南 - 宁夏壹山网络
  • 快速掌握Java反编译:JD-GUI完整使用指南
  • 模型路由最主流的技术:从规则路由到因果优化的系统级演进
  • ComfyUI-Impact-Pack:AI图像增强与细节处理的终极指南
  • 无人机远程身份识别的终极开源解决方案:ArduRemoteID完全指南
  • bilibili-parse:三行代码解锁B站视频解析的魔法
  • Multisim交通灯仿真进阶:除了红绿灯,你的数码管倒计时显示做对了吗?
  • Cursor Pro免费激活工具:3分钟解锁AI编程助手完整功能
  • 聊聊四轴五轴定制生产,靠谱供应商怎么选择看这篇指南 - 工业品网
  • 用Python玩转深度学习信道估计:从图像超分辨率到实战代码解析
  • 3分钟掌握HackBGRT:免费定制Windows UEFI启动画面的终极方案
  • 027、性能优化:缓存机制、提示压缩与检索加速
  • JPEGView:Windows上最快的图像查看器,为什么你还没用上?