One API 与 Spring AI 方案对比

一、One API

One API 是一个通过标准的 OpenAI API 格式访问所有的大模型的接口管理和分发系统。

One API 提供以下功能:
  • 支持多种大模型
  • 支持配置镜像以及众多第三方代理服务
  • 支持通过 负载均衡 的方式访问多个渠道。
  • 支持 stream 模式,可以通过流式传输实现打字机效果。
  • 支持 多机部署详见此处
  • 支持 令牌管理 ,设置令牌的过期时间、额度、允许的 IP 范围以及允许的模型访问。
  • 支持 兑换码管理 ,支持批量生成和导出兑换码,可使用兑换码为账户进行充值。
  • 支持 渠道管理 ,批量创建渠道。
  • 支持 用户分组 以及 渠道分组 ,支持为不同分组设置不同的倍率。
  • 支持渠道 设置模型列表
  • 支持 查看额度明细
  • 支持 用户邀请奖励
  • 支持以美元为单位显示额度。
  • 支持发布公告,设置充值链接,设置新用户初始额度。
  • 支持模型映射,重定向用户的请求模型,如无必要请不要设置,设置之后会导致请求体被重新构造而非直接透传,会导致部分还未正式支持的字段无法传递成功。
  • 支持失败自动重试。
  • 支持绘图接口。
  • 支持 Cloudflare AI Gateway,渠道设置的代理部分填写 https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/openai 即可。
  • 支持丰富的自定义设置,
    • 支持自定义系统名称,logo 以及页脚。
    • 支持自定义首页和关于页面,可以选择使用 HTML & Markdown 代码进行自定义,或者使用一个单独的网页通过 iframe 嵌入。
  • 支持通过系统访问令牌调用管理 API,进而在无需二开的情况下扩展和自定义 One API 的功能,详情请参考此处 API 文档
  • 支持 Cloudflare Turnstile 用户校验。
  • 支持用户管理,支持多种用户登录注册方式
    • 邮箱登录注册(支持注册邮箱白名单)以及通过邮箱进行密码重置。
    • 支持使用飞书进行授权登录。
    • GitHub 开放授权
    • 微信公众号授权(需要额外部署 WeChat Server)。
  • 支持主题切换,设置环境变量 THEME 即可,默认为 default,欢迎 PR 更多主题,具体参考此处
  • 配合 Message Pusher 可将报警信息推送到多种 App 上。
请求链路
使用 One API 分发的 key 进行请求
中继请求
中继请求
中继请求
中继并修改请求体和返回体
用户
One API
OpenAI
Azure
其他 OpenAI API 格式下游渠道
非 OpenAI API 格式下游渠道

Spring AI

Spring AI 是以简化包含人工智能功能的应用程序的开发,避免不必要的复杂性,而创建的项目。

该项目从著名的 Python 项目(例如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立相信下一波生成式人工智能应用程序不仅适用于 Python 开发人员,而且将在许多编程语言中普遍存在。

Spring AI 的核心提供了抽象,作为开发 AI 应用程序的基础。这些抽象有多种实现,可以通过最少的代码更改轻松进行组件交换。

Spring AI 提供以下功能:
  • 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Huggingface。

  • 支持的模型类型包括“聊天”“文本到图像”,还有更多模型类型正在开发中。

  • 跨 AI 提供商的可移植 API,用于聊天和嵌入模型。支持同步和流 API 选项。还支持下拉访问模型特定功能。

  • AI 模型输出到 POJO 的映射。

  • 支持所有主要矢量数据库提供商,例如 Azure 矢量搜索、ChromaMilvus、Neo4j、PostgreSQL/PGVector、PineConeQdrant、Redis 和 Weaviate

  • 跨 Vector Store 提供商的可移植 API,包括同样可移植的新颖的类似 SQL 的元数据过滤器 API。

  • 支持函数调用

  • AI 模型和向量存储的 Spring Boot 自动配置和启动器。

  • 数据工程的 ETL 框架

请求链路
使用 Spring AI 配置三方大模型平台参数 进行请求
中继请求
中继请求
中继请求
中继并修改请求体和返回体
用户
Spring AI
OpenAI
Azure
其他 OpenAI API 格式下游渠道
非 OpenAI API 格式下游渠道

One API 与 Spring AI 对比

支持的大模型
大模型 One API Spring AI
OpenAI ChatGPT 系列模型 ✔ 支持 ✔ 支持
Azure OpenAI API ✔ 支持 ✔ 支持
Amazon Bedrock 系列模型 ✖ 不支持 ✔ 支持
Anthropic Claude 系列模型 (支持 AWS Claude) ✔ 支持 ✔ 支持
Google PaLM2/Gemini 系列模型 ✔ 支持 ✔ 支持
Mistral 系列模型 ✔ 支持 ✔ 支持
百度文心一言系列模型 ✔ 支持 ✔ 支持(扩展方式)
阿里通义千问系列模型 ✔ 支持 ✔ 支持(扩展方式)
华为盘古系列模型 ✖ 不支持 ✔ 支持(扩展方式)
讯飞星火认知大模型 ✔ 支持 ✖ 不支持
智谱 ChatGLM 系列模型 ✔ 支持 ✔ 支持(扩展方式)
360 智脑 ✔ 支持 ✖ 不支持(可扩展)
腾讯混元大模型 ✔ 支持 ✖ 不支持
Moonshot AI ✔ 支持 ✔ 支持(扩展方式)
百川大模型 ✔ 支持 ✖ 不支持(可扩展)
字节云雀大模型 (WIP) ✔ 支持 ✖ 不支持(可扩展)
MINIMAX ✔ 支持 ✖ 不支持(可扩展)
Groq ✔ 支持 ✖ 不支持(可扩展)
Ollama ✔ 支持 ✔ 支持
零一万物 ✔ 支持 ✖ 不支持(可扩展)
阶跃星辰 ✔ 支持 ✖ 不支持(可扩展)
Coze ✔ 支持 ✖ 不支持(可扩展)
两者的区别
大模型 One API Spring AI
能力定位 大模型的接口管理和分发系统 简化包含人工智能功能的应用程序开发的框架
适用场景 大模型的接口代理和渠道管理 多模型接入以及多种模型切换
开发语言 Golang Java
开发要求 兼容 OpenAI API,一次对接,多次复用 引入不同模型接入组件,一次对接,轻松切换
部署方式 Docker、K8s Docker、K8s
集群部署 支持 支持
负载均衡 Nginx NginxSpring Cloud
Stream 模式 支持 支持
失败自动重试 支持 支持
Token 用量限制 支持 不支持
报警信息 支持 不支持

总结

  • One API 是一个开源的、相对成熟的大模型接口代理和管理的系统,如果你的系统,仅仅是需要接入大模型的能力,且你要接入的大模型是 One API 支持的,那么使用 One API 来作为你系统的大模型统一接入平台,是一个比较好的选择。
  • 如果不是,那么你可能需要考虑基于 Spring AI 技术方案进行的定制化实现,比如:你要使用 华为盘古系列模型,暂时就使用不了 One API。
  • 或者,你是在自研部分功能类似 One API 的其他 AI 中间件服务,如果你是用 Java 语言开发,Spring AI 或者比较好的选择
作者:Jeebiz  创建时间:2024-04-22 12:00
最后编辑:Jeebiz  更新时间:2025-05-12 09:20