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

Switchyard:专为大语言模型流量打造的 Rust 代理与库,功能强大!

1. Switchyard 简介

Switchyard 是一款用 Rust 编写的代理和库,专为处理大语言模型(LLM)的流量而设计。它能够在不同的模型提供商之间路由请求,实现 OpenAI 和 Anthropic API 之间的转换,记录操作指标,并提供类型化、可组合的路由算法。

2. 为何选择 Switchyard?

你可以将像 Claude Code 或 Codex 这样的编码代理指向开源模型。Switchyard 能在 OpenAI Chat、Anthropic Messages 和 OpenAI Responses 等格式之间进行转换,这样编码代理可以继续使用其原生 API,而请求则由 vLLM、NVIDIA NIM、Ollama 或任何兼容 OpenAI 的端点来处理。同一个代理还能将流量分散到多个模型,用于 A/B 测试、应用基于信号的阶段路由,或者运行你自己编写的自定义算法。

3. 主要特性

协议转换:支持在 OpenAI Chat、Anthropic Messages 和 OpenAI Responses 格式之间进行转换。多后端路由:提供随机路由、以大语言模型作为分类器的路由、基于信号的阶段路由,也支持你自定义算法。操作指标:通过 Prometheus 指标记录请求、错误、延迟、令牌数量和路由开销等信息。

4. 成熟度

Switchyard 目前处于预 alpha 阶段,仍在快速发展。在达到 v1.0 版本之前,其 API 和算法预计会有重大变化。请注意,这是实验性软件,请勿用于生产环境。

5. 快速开始

你可以根据需求选择以下三种使用方式:启动器方式:通过 Switchyard 运行 Claude Code、Codex CLI 或 OpenClaw。若尚未安装 uv,需先进行安装,然后安装已发布的 Switchyard 工具:
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
uv tool install --python 3.10 "nemo-switchyard[cli]"
你启动的编码代理也必须安装并在系统的 PATH 环境变量中。此方式不会安装独立的 switchyard - server 二进制文件,若要安装,请使用服务器方式。设置 OpenRouter 密钥并针对打包部署进行启动:
export OPENROUTER_API_KEY="your - openrouter - key"
switchyard launch claude --model switchyard
switchyard launch codex --model switchyard
switchyard launch openclaw --model switchyard
若要使用你自己的原生 TOML 部署,需传递其路由 ID 和配置:
switchyard launch claude --model my - route --config routes.toml
服务器方式:用于安装和运行独立的 Rust 代理。使用 Cargo 安装 Rust,然后安装已发布的二进制文件:
cargo install --locked switchyard - server
switchyard - server --help
Cargo 默认会将发布版二进制文件构建并安装到 `~/.cargo/bin` 目录。根据快速上手指南创建 `routes.toml` 文件,然后验证并启动服务器:
export OPENROUTER_API_KEY="your - openrouter - key"
switchyard - server --config routes.toml --dry - run
switchyard - server --config routes.toml --host 127.0.0.1 --port 4000
在另一个终端中验证代理:
curl http://localhost:4000/health
若要获取完整配置和测试请求,请参考快速上手指南。库方式:`switchyard - libsy` 可将路由算法嵌入到你自己的 Rust 应用程序中。它本身不会调用模型,而是由算法决定使用哪个目标,并将每个模型调用返回给你,这样它可以集成到现有的代理、网关或代理运行时中,无需拥有自己的 HTTP 栈。当你希望自动进行模型调用时,可以将其与 `switchyard - llm - client` 配合使用。在 `Cargo.toml` 中添加以下依赖:
[dependencies]
switchyard - libsy = { git = "https://github.com/NVIDIA - NeMo/Switchyard.git" }
switchyard - protocol = { git = "https://github.com/NVIDIA - NeMo/Switchyard.git" }
有关设置和算法列表,请参考快速上手指南或 `switchyard - libsy` 包文档。

6. 路由策略

| 策略 | 使用场景 | 路由类型 |
| ---- | ---- | ---- |
| LLM 分类器 | 请求内容应决定某个回合需要使用弱层级还是强层级模型。 | llm_classifier |
| 阶段路由 | 对话中已有的信号(如工具结果和错误)应在无需额外模型调用的情况下对大多数回合进行路由。 | stage_router |
| 升级路由 | 每个回合先在弱层级模型上运行,然后由评判器根据结果决定是否将相同请求发送到强层级模型。 | llm_classifier(模式为 "escalation") |
| 随机路由 | 你需要为 A/B 测试、基线测试或成本实验进行固定的流量分配。 | random |
直通路由会在一个模型 ID 下注册一个目标,无需进行路由决策。有关常见路由形状和自托管目标的详细信息,请参考路由概述。

7. 架构

客户端保持其原生的 OpenAI 或 Anthropic API 格式。Switchyard 会选择一个已配置的后端,将请求以该后端的格式转发,并将响应转换回客户端期望的格式。服务器支持 OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages。每个配置的大语言模型客户端会选择一种上游格式。

8. 文档

快速上手:提供完整的启动器和独立服务器使用指南。核心概念:介绍大语言模型客户端、目标、路由、模型 ID 和路由算法等概念。路由概述:帮助你选择和配置路由算法。switchyard - server:介绍服务器配置、路由算法和指标。switchyard - libsy:说明如何将路由算法嵌入到 Rust 应用程序中。switchyard - protocol:提供与提供商无关的请求、响应和流式传输类型。switchyard - translation:介绍请求、响应和流的转换。

9. 社区

问题反馈:可在 GitHub Issues 上提交问题。行为准则:请遵守行为准则。

10. 许可证

采用 Apache 2.0 许可证,版权归 NVIDIA Corporation 所有。

http://www.jsqmd.com/news/1385028/

相关文章:

  • Dify分隔符功能说明
  • 免费网页版暗黑2存档编辑器d2s-editor上手教程:零基础三分钟改出心仪角色
  • 网站建设需要考虑因素有哪些?新手必看避坑指南及全流程解析
  • Windows硬件监控终极指南:FanControl与AIDA64联动,告别风扇噪音与温度焦虑
  • 松滋市白蚁防治服务商选择标准问答客观解读 - 米諾
  • 加密音乐打不开?5分钟上手Unlock-Music,免费解锁12种主流加密格式
  • faster-whisper-GUI 终极实战:把音视频批量变成字幕的本地语音转文字指南
  • 别再只会查库了:复杂数据链路测试,我现在基本都按这套方法做
  • 鸿蒙测试2
  • 终极免费开源跨平台自动化工具:3步掌握鼠标键盘录制神器
  • 百度文库三步免费提取:去广告、加载全文、一键保存PDF
  • Windows Defender移除终极指南:3种模式全面提升系统性能与游戏体验
  • 10分钟搞定Mem Reduct内存清理:中文界面与自动清理一次配好
  • 万方AIGC检测报告怎么看?如何按疑似片段完成修改和复检?
  • SQL Server图片存储实战:VARBINARY(MAX)方案设计与性能优化
  • 厦门招聘平台哪个好:【帅聘网】成就自我 - 晴光转树
  • 31个功能!NSC_BUILDER:Switch游戏文件管理的终极解决方案
  • ERPNext一键安装保姆级指南:4步搞定全版本自动化部署
  • DABM-D223数据采集卡架构深度解析:STM32H743+FPGA双核如何各司其职
  • 标注员标注郑州话时分不清不同地区的发音差异,标注结果没法用
  • 服装行业数字化避坑指南:从“人海战术”到“AI员工”,2026年进销存选型到底看什么?
  • AI Agent 能跑命令之后,谁来管权限?这个开源项目用 YAML 划红线
  • 如何一键捕获完整网页:Chrome全屏截图的终极简单指南
  • 禹衡光栅长度计精度评测:基于国标0级氧化锆量块的校正与数据分析
  • YUV图像格式
  • 31个实用功能!Switch游戏文件管理终极解决方案NSC_BUILDER完整指南
  • B站缓存视频无法播放?m4s转MP4全流程实操指南
  • SQL Server自动化备份实战:全量差异日志策略与代理作业配置
  • Sunshine终极指南:5个步骤快速搭建个人游戏串流服务器
  • Nginx简单快速搭建文件服务器