Zing 论坛

正文

InferRouter:面向 .NET 的自托管多提供商 LLM 推理代理

InferRouter 是一个为 .NET 项目设计的自托管 LLM 推理代理,提供统一的 OpenAI 兼容接口,支持多提供商故障转移、速率限制追踪和结构化操作日志,实现无缝的模型切换和本地 GGUF 回退。

.NETLLM proxyOpenAI compatiblemulti-providerfailoverGGUFLlamaSharprate limiting
发布时间 2026/05/27 02:42最近活动 2026/05/27 02:49预计阅读 3 分钟
InferRouter:面向 .NET 的自托管多提供商 LLM 推理代理
1

章节 01

InferRouter:面向.NET的自托管多提供商LLM推理代理核心介绍

2

章节 02

LLM多提供商集成的挑战与传统方案局限

随着LLM生态发展,开发者面临多提供商灵活切换的挑战:单一提供商可能存在服务中断、速率限制或任务适配性问题。传统方案需硬编码多个SDK,手动处理故障转移,分散管理API密钥,导致代码复杂度高、扩展困难。InferRouter旨在解决这些问题,通过统一接口和智能路由,让调用方无感知享受多提供商弹性。

3

章节 03

核心架构与关键机制解析

InferRouter采用分层架构,核心组件包括:

  1. 统一API层:对外暴露OpenAI兼容的/v1/chat/completions端点,支持所有OpenAI客户端无缝迁移。
  2. 故障转移执行器:按配置顺序尝试提供商,遇可恢复错误(如429速率限制)自动切换下一个。
  3. 速率限制追踪器:维护本地配额计数,支持UTC午夜重置和60秒滑动窗口RPM追踪,避免无效请求。
  4. 错误规范化器:将不同提供商的错误转换为统一类别(RateLimit、AuthError等),确保故障转移逻辑一致。
  5. 操作日志:生成JSONL格式结构化日志,包含请求ID、提供商、模型、令牌消耗等信息,便于监控调试。
4

章节 04

灵活配置与本地GGUF模型支持

提供商链通过配置文件定义,无需修改代码即可调整。配置支持两种类型:openai_compatible(兼容OpenAI接口的云提供商)和local_gguf(本地模型)。示例配置包含配额控制(每日请求上限、每分钟限制)和错误映射规则。本地GGUF模型通过LlamaSharp集成,作为最终回退,进程内运行,适合离线或隐私敏感场景。

5

章节 05

安全设计与可观测性保障

安全:采用Docker Secrets管理API密钥,密钥以文件形式挂载(/run/secrets/),避免环境变量泄露,支持轮换且无需重启服务。 可观测性:操作日志为JSONL格式,包含infer_startedinfer_completedinfer_fallback等事件类型,可集成ELK、Grafana Loki等平台,实现实时监控、告警和成本分析。

6

章节 06

部署方式与适用场景

技术栈:基于.NET 10和ASP.NET Core Minimal API,本地推理依赖LlamaSharp 0.20.0。 部署:通过Docker Compose部署,配置简洁,支持密钥挂载、模型目录和日志目录映射。 适用场景:高可用性需求(多提供商冗余)、成本优化(优先低-cost提供商)、模型多样性(任务适配不同模型)、数据隐私合规(本地模型避免数据外流)。

7

章节 07

总结:InferRouter的价值与意义

InferRouter推动LLM应用架构从紧耦合单提供商转向灵活、可配置的多提供商代理,满足生产环境的安全性、可观测性、高可用性和成本效益需求。对于.NET开发者,它提供开箱即用的解决方案,无需处理提供商API差异或复杂故障转移逻辑,是LLM生态演进中重要的抽象层。