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 上。
请求链路
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 矢量搜索、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate
跨 Vector Store 提供商的可移植 API,包括同样可移植的新颖的类似 SQL 的元数据过滤器 API。
支持函数调用
AI 模型和向量存储的 Spring Boot 自动配置和启动器。
数据工程的 ETL 框架
请求链路
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 |
Nginx 、Spring 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
最后编辑:Jeebiz 更新时间:2025-05-12 09:20