V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mylxsw
V2EX  ›  分享创造

分享一个 LLM API 网关 Squirrel,统一管理多家大模型服务

  •  
  •   mylxsw ·
    mylxsw · 12 小时 11 分钟前 · 350 次点击

    各位好,分享一个自己做的开源项目 Squirrel,一个 LLM API 网关。

    起因是自己手上有不少项目在用大模型 API ,比如 N8N 里配了一堆 Agent ,还有各种业务服务,时间长了积累下来几个很头疼的问题,相信不少人也遇到过:

    模型升级太累了。 各家厂商隔三差五出新模型,Claude 4 刚出想换上试试,结果发现自己十几个项目里散落着各种模型配置,要一个个去改。N8N 里的 Agent 、业务代码里的调用、测试环境的配置……改一圈下来半天过去了,而且总会漏掉几个。

    钱花了但不知道花哪了。 同一个模型好几家都有,价格还不一样,手动去比价选供应商不现实。更别说有时候 A 供应商涨价了、B 供应商搞活动降价了,根本顾不过来。

    出了问题没法查。 大模型调用不像传统 API ,prompt 发了什么、模型返回了什么、是不是流式中间断了,这些信息不记录下来,出了问题就只能靠猜。

    所以做了 Squirrel 来解决这些问题,几个核心能力:

    1. 模型映射 —— 一处改,处处生效

    这是我自己最受益的功能。所有项目不直接配具体模型名,而是配一个虚拟模型名(比如 my-smart),在 Squirrel 里把它映射到实际的模型和供应商。想把所有项目从 Claude 3.5 升级到 Claude 4 ?在网关改一下映射,所有项目立刻生效,不用动任何业务代码。

    2. 按成本自动选最优供应商

    配好各家供应商的价格后,Squirrel 会自动把请求路由到价格最低的那家。同样是 GPT-4o ,A 供应商比 B 便宜,就自动走 A 。A 挂了?自动切到 B ,业务无感。也支持按优先级、权重、轮询等其他策略。

    3. 请求洞察 —— 每次调用都看得清清楚楚

    完整记录每一次 API 调用的请求体和响应体(包括流式响应),在管理面板里直接查看。发了什么 prompt 、模型返回了什么、用了多少 Token 、首字节延迟多久,一目了然。做 AI 应用调优的时候特别有用。

    4. 自动重试和故障转移

    供应商返回 500 或者超时,自动重试并切换到其他可用的供应商,不需要业务端做任何处理。

    5. 协议兼容

    同时兼容 OpenAI 和 Anthropic 的 SDK ,还能在 OpenAI Chat 、OpenAI Responses 、Anthropic Messages 之间自动转换协议。接入的时候就当一个普通的 OpenAI/Anthropic 服务用就行。


    技术栈:Python (FastAPI) + Next.js + PostgreSQL/SQLite ,Docker Compose 一键部署。

    项目开源,MIT 协议:https://github.com/mylxsw/llm-gateway

    还在持续迭代中,欢迎试用。有问题或建议直接 GitHub issue ,也欢迎 PR 。

    image1 image2

    3 条回复    2026-02-14 10:00:06 +08:00
    chairuosen
        1
    chairuosen  
       10 小时 31 分钟前
    Wow ,和我们的需求很像,先赞一波
    chairuosen
        2
    chairuosen  
       10 小时 27 分钟前
    提一个问题,各家缓存协议接了么
    swart
        3
    swart  
       1 小时 44 分钟前
    没有 dockerhub 的镜像么?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2712 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:44 · PVG 11:44 · LAX 19:44 · JFK 22:44
    ♥ Do have faith in what you're doing.