Aioga
AI资讯 / 行业动态
返回 AI资讯

NVIDIA 开源 Switchyard:用 Rust 代理在 OpenAI 与 Anthropic API 间路由和翻译 LLM 流量

MarkTechPost(RSS)Aioga 编辑团队2026-09-02T18:05:52.000Z热度 58

NVIDIA 发布 Switchyard,一个 Apache 2.0 协议的 Rust 代理和库,用于在多个后端之间路由 LLM 流量,并双向翻译 OpenAI Chat Co...

行业动态MarkTechPost(RSS)

今日 AI 情报摘要

NVIDIA 发布 Switchyard,一个 Apache 2.0 协议的 Rust 代理和库,用于在多个后端之间路由 LLM 流量,并双向翻译 OpenAI Chat

Completions、OpenAI Responses 和 Anthropic Messages 三种格式,包括流式事件。

中文正文 · AI 翻译

运行编程代理的团队遇到了同样的难题。Claude Code 使用 Anthropic Messages API,Codex CLI 使用 OpenAI,而团队真正想要服务的模型隐藏在 vLLM、NVIDIA NIM:https://developer.nvidia.com/nim 或 Ollama 背后。重写代理不是一个选项,因此翻译层必须存在于其他地方。

Switchyard:https://github.com/NVIDIA-NeMo/Switchyard 是 NVIDIA 的回答:一个用于 LLM 流量的 Rust 代理和库,能够在提供商之间路由请求,在 OpenAI 和 Anthropic 格式之间进行转换,记录操作指标,并暴露类型化的、可组合的路由算法。它以 Apache 2.0 许可发布:https://github.com/NVIDIA-NeMo/Switchyard/blob/main/LICENSE,文档见 docs.nvidia.com/nemo/switchyard:https://docs.nvidia.com/nemo/switchyard/home。

它可以部署吗?可以,但仅用于评估。二进制文件可从 crates.io 安装,启动器可从 PyPI 安装,并且可以在任何地方自托管,但 NVIDIA 将 Switchyard 标记为预-alpha 和实验性:https://github.com/NVIDIA-NeMo/Switchyard#maturity,警告它不适用于生产环境,并且预计在 v1.0 之前,API 和算法会发生显著变化。

客户端保持其原生 API。Switchyard 将传入请求解码为提供商无关的 Rust 类型,运行路由算法选择后端,将请求重新编码为该后端的线格式,调用它,并将响应(包括流式事件)翻译回客户端期望的形式。

服务器:https://github.com/NVIDIA-NeMo/Switchyard/blob/main/crates/switchyard-server/README.md 接受三种传入格式:OpenAI 聊天完成、OpenAI 响应和 Anthropic 消息。三者中的任何一种都可以处理任何路由,每个配置的 LLM 客户端选择一种自己的上游格式。这种解耦正是关键:代理的 API 和后端的 API 不再必须匹配。

启动器路径针对编程代理。使用 uv tool install --python 3.12 "nemo-switchyard[cli]" 安装已发布工具,然后运行 switchyard launch claude、switchyard launch codex 或 switchyard launch openclaw 对打包的部署或你自己的 TOML 文件进行操作。

服务器路径通过 cargo install --locked switchyard-server 安装独立代理,使用 --dry-run 验证配置,并在你选择的主机和端口上提供服务。

库路径使用 switchyard-libsy,它将路由算法嵌入 Rust 应用程序中,而不拥有 HTTP 栈。它从不自己调用模型;算法决定使用哪个目标,并将每次模型调用返回给调用方。

一个路由:https://github.com/NVIDIA-NeMo/Switchyard/blob/main/docs/routing_algorithms/overview.md 是一个客户端可见的模型 ID 加上其背后的算法。服务器支持:

strong、weak、capable 和 efficient 是路由内的角色,而不是模型的固定属性。同一个上游模型在不同路由中可以扮演不同角色。

GET /metrics 返回服务器进程范围内 OpenTelemetry 提供程序的 Prometheus 文本。指标类别涵盖请求、错误、模型调用延迟、完整轮次延迟、提示、完成、缓存、缓存创建和推理令牌,以及按结果和代码区分的上游 HTTP 尝试。tier 标签表示 strong 或 weak,用于区分分类器决策,分类器调用不计入这些类别。

更有趣的指标是 switchyard_routing_overhead_ms,它报告算法运行时间减去服务请求的调用时间。分类器调用不被减去,因此 LLM-分类器路由在这里报告其分类时间,而直通和随机路由报告选择目标的亚毫秒成本。桶从 0.1 毫秒开始。另可使用 --routing-log-file 为每个完成的响应附加一个 JSON 记录,GET /v1/routing/session-stats 从该日志返回每个会话的调用和令牌总数。

TOML 部署有三层:llm_clients 定义基础 URL、传输格式、凭证环境变量和重试策略;targets 将一个上游模型 ID 绑定到一个客户端;routes 暴露一个客户端可见的模型 ID 及其算法。机密信息从不存放在文件中,因为 api_key_env 仅命名一个环境变量。max_retries 默认为 2,应用于传输失败、超时、HTTP 408/429 和 5xx 响应。

需要与我们合作推广你的 GitHub 仓库或 Hugging Face 页面或产品发布或网络研讨会等?请联系我们:https://forms.gle/wbash1wF6efRj8G58

NVIDIA 开源 Switchyard:用 Rust 代理在 OpenAI 与 Anthropic API 间路由和翻译 LLM 流量

米哈尔·萨特(Michal Sutter)是一名数据科学专业人士,拥有帕多瓦大学的数据科学硕士学位。凭借在统计分析、机器学习和数据工程方面的扎实基础,米哈尔擅长将复杂的数据集转化为可操作的洞察。

情报判断

Aioga 编辑摘要

NVIDIA 发布了 Switchyard,这是一个采用 Apache 2.0 协议的 Rust 代理和库,可在多个后端之间路由大语言模型流量,并双向转换 OpenAI Chat Completions、OpenAI Responses 与 Anthropic Messages 格式,包括流式事件。

背景分析

Switchyard 将客户端请求解析为与提供商无关的 Rust 类型,再依据路由算法选择后端并转换请求和响应。其服务器支持三种入站格式,项目还提供面向编码代理的启动器及可嵌入 Rust 应用的库。

Aioga 观点

Aioga 判断:Switchyard 将接口兼容与后端选择拆开,可能为使用不同模型服务的代理部署提供一层适配基础。不过,来源明确将其标记为 pre-alpha 和实验性项目,不建议用于生产环境。

影响与后续

可能影响:统一转换层可能减少代理客户端与后端接口不一致时的改造需求,但不代表所有请求都能无差异转换;使用者需要评估流式事件、路由算法及各后端格式的兼容性,并注意其 API 仍可能变化。 后续观察:应关注 Switchyard 在 v1.0 前的 API 与路由算法调整、三种接口之间的转换覆盖范围,以及自托管服务器、启动器和 Rust 库在实际评估中的稳定性表现。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: RSS · 原始域名: marktechpost.com

来源: MarkTechPost(RSS)

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-09-02T18:05:52.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

NVIDIA 发布 Switchyard,一个 Apache 2.0 协议的 Rust 代理和库,用于在多个后端之间路由 LLM 流量,并双向翻译 OpenAI Chat Co...

MarkTechPost(RSS)2026-09-02T18:05:52.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。