NVIDIA-NeMo/Switchyard
编程助手接口不用改,后台模型却可以随意换的路由器
Switchyard是一个用Rust写的代理程序,能让Claude Code、Codex这类编程智能体继续使用它们原本的API格式,而实际请求则被转发给vLLM、NVIDIA NIM、Ollama等其他模型来处理。它在OpenAI和Anthropic两种API格式之间做转换,因此不需要改动智能体代码就能切换后端模型,或把流量分给多个模型做对比测试。目前它还是pre-alpha预发布阶段的软件,不建议用于生产环境。
它做什么
- 应用或智能体照常使用OpenAI Chat、Anthropic Messages或OpenAI Responses中任意一种原生格式,Switchyard在后台把请求转换成后端模型实际使用的格式再转发出去。
- 支持多种路由策略:随机分流、用LLM对请求内容分类后决定路由、根据对话中已有信号(如工具调用结果、报错信息)进行路由的阶段路由器,以及先用弱模型处理、再由裁判判断是否需要升级到强模型的升级路由器。
- 提供三种使用方式:作为独立代理服务器运行(switchyard-server)、通过命令行启动器运行Claude Code等工具(switchyard CLI)、或作为库直接嵌入到自己的Rust应用中(switchyard-libsy)。
- 通过Prometheus指标记录请求数、错误数、延迟、token用量和路由本身的开销,便于运维监控。
- 这个Rust项目在GitHub上获得1927颗星,采用Apache 2.0许可证,版权归NVIDIA所有。
为什么重要
想要降低成本或对比开源模型与商业模型效果的团队,不用改动编程智能体的一行代码,就能切换后端模型或做A/B测试。不过维护者自己也说明这仍是实验性的pre-alpha软件,API和算法预计还会有较大变动。
本仓库术语
- 代理(proxy) · 位于客户端和真实服务端之间转发请求的中间服务器
- OpenAI Chat / Anthropic Messages / OpenAI Responses · OpenAI和Anthropic各自定义的LLM请求-响应接口格式
- vLLM、NVIDIA NIM、Ollama · 用于自行部署运行开源大模型的服务引擎
- Prometheus指标 · 将服务器状态(请求量、延迟等)整理成标准格式,供监控工具采集展示的数据
- pre-alpha · 正式发布前的早期开发阶段,功能和接口仍会发生较大变化
仓库简介(英文)
Switchyard lets LLM applications route traffic across models and providers while preserving native OpenAI and Anthropic API compatibility - enabling flexible model selection, benchmarking, and cost/performance optimization.
在 GitHub 打开热门仓库
- cathrynlavery/diagram-design让AI编程工具画出杂志排版质感图表,而不是千篇一律的圆角方框
- public-apis/public-apis一份由社区维护的免费API大全仓库
- semantica-agi/semantica一个让AI智能体的决策可追溯、可审计的开源图谱基础设施
- cactus-compute/needle一个14MB的AI模型,让手机和可穿戴设备无需联网就能调用工具
- unslothai/unsloth一款让你在自己电脑上运行和训练AI模型的桌面应用,无需写代码
- macro-inc/macro把邮件、聊天、文档、任务和CRM互相链接、共享同一份AI团队记忆的一体化办公平台
- harry0703/MoneyPrinterTurbo只需一个主题或关键词,就能自动生成配好文案、素材、字幕和音乐的完整短视频的开源工具
- basecamp/omarchyDHH打造的、开箱即用且风格统一的Linux发行版