目前市面上部分厂商提供了免费的 AI 模型接口(比如 Grok 、Gemini 等),通常免费提供的 API 接口均有严格的速率限制。于是我写了一个 AI 大模型的负载均衡调度器 AILoad 来改善此问题,后端可配置多个大模型的 API 接口,随机轮询后端多个大模型接口,并提供统一的 OpenAI 兼容格式调用,从而缓解并发限制。
主要特点
- 负载均衡 :自动将请求随机分发到多个 AI 模型接口,避免单个模型频率上限,提升整体吞吐量。
- 统一 API 入口 :提供单一入口调用
- 兼容 OpenAI:兼容 OpenAI API 接口格式
- 流式返回:支持流式传输
- IP 亲和性:同一个 IP 在一定时间内固定分配到一个 AI 模型,提升连续对话一致性
Docker Compose 安装
version: '3'
services:
aiload:
container_name: aiload
volumes:
- '/opt/aiload/data:/opt/aiload/data'
restart: always
ports:
- '2081:2081'
image: 'helloz/aiload'
一些不足
通过轮询的方法虽然缓解了并发限制的焦虑,后端虽然使用了 IP 亲和性算法,但是如果连续对话的场景超过 IP 缓存有效期后可能会分配到另外的模型上面,导致长对话中可能存在模型跳跃的问题。不知道各位大佬可有更好的解决方案。
注意
此项目仅供学习和测试用途,请勿滥用!!!
更多说明可参考开源项目地址: https://github.com/helloxz/aiload