FreeLLMAPI:聚合14+免费LLM API的OpenAI兼容代理完全指南
一个代理,14+免费模型,自动故障转移,零成本AI应用开发
前言
在AI应用开发中,API成本是一个不可忽视的问题。即使是使用相对便宜的模型,大规模调用也会产生可观的费用。对于个人开发者、学生、开源项目来说,API成本往往是最大的障碍。
FreeLLMAPI(tashfeenahmed/freellmapi)提供了一个创新的解决方案:它是一个OpenAI兼容的代理服务器,聚合了14+个AI提供商的免费API密钥,并支持自动故障转移。你只需要对接一个API端点,就能同时使用多个免费模型。
一、FreeLLMAPI 是什么?
FreeLLMAPI 是一个轻量级的代理服务器,它的核心功能是:
- 聚合免费API:整合14+个提供免费额度的AI API提供商
- OpenAI兼容:使用标准的OpenAI API格式,无需修改现有代码
- 自动故障转移:当一个提供商不可用时,自动切换到下一个
- 负载均衡:智能分配请求,避免单个提供商的速率限制
- 本地部署:完全自托管,数据不出本地
1.1 支持的免费API提供商
FreeLLMAPI 聚合了以下免费API提供商:
| 提供商 | 免费额度 | 模型 |
|---|---|---|
| Google Gemini | 15 RPM / 1M tokens/day | Gemini 1.5 Flash, Pro |
| Groq | 30 RPM / 14.4K tokens/min | Llama 3, Mixtral |
| Together AI | 100 RPM / 50K tokens/min | Llama 3, Qwen |
| Mistral | 2 RPM / 50K tokens/min | Mistral 7B, Mixtral |
| Cerebras | 30 RPM | Llama 3.1 |
| SambaNova | 10 RPM | Llama 3.1 |
| Fireworks | 20 RPM | Llama 3, Mixtral |
| DeepInfra | 10 RPM | Llama 3, Qwen |
| Replicate | 免费额度 | 各类开源模型 |
| HuggingFace | 有限制 | 各类开源模型 |
| Cloudflare Workers AI | 10K tokens/day | Llama 2, Mistral |
| OpenRouter | 部分免费 | 多种模型 |
| Cohere | 免费试用 | Command R |
| Anthropic | 免费试用 | Claude 3 Haiku |
1.2 工作原理
客户端请求 → FreeLLMAPI代理 → 选择可用提供商 → 转发请求 ↓ 速率限制检查 ↓ 故障转移逻辑 ↓ 返回响应(OpenAI格式)二、架构设计
2.1 核心组件
Router(路由器)
负责选择最佳的API提供商。基于以下因素决策:
- 提供商的可用性
- 当前速率限制状态
- 模型匹配度
- 响应延迟
Rate Limiter(速率限制器)
跟踪每个提供商的使用情况,确保不超过免费额度。
Circuit Breaker(断路器)
当某个提供商连续失败时,暂时将其标记为不可用,避免无效请求。
Response Normalizer(响应标准化)
将不同提供商的响应格式统一转换为OpenAI兼容格式。
2.2 数据流
# 简化的处理流程asyncdefhandle_request(request):# 1. 解析请求model=request.model messages=request.messages# 2. 选择提供商provider=router.select_provider(model)# 3. 检查速率限制ifrate_limiter.is_limited(provider):provider=router.select_fallback(model)# 4. 发送请求try:response=awaitprovider.send(messages)exceptProviderError:circuit_breaker.trip(provider)provider=router.select_fallback(model)response=awaitprovider.send(messages)# 5. 标准化响应returnnormalize_to_openai(response)三、快速上手
3.1 安装
# 克隆仓库gitclone https://github.com/tashfeenahmed/freellmapi.gitcdfreellmapi# 安装依赖pipinstall