前言
随着AI大模型技术的迅猛发展,越来越多的应用开始集成人工智能能力,例如智能助手、知识库、自动化工具、AI编程等。
然而,当前主流大模型API普遍存在调用成本偏高、接口管理繁琐、不同模型需在多个平台间切换等问题。对于喜欢动手折腾的爱好者而言,拥有一个统一管理、便捷调用的AI接口服务显得尤为重要。
今天要为大家介绍一个开源项目 FreeLLMAPI,它能够帮助我们快速搭建一个专属的大模型API服务平台,通过简单部署即可提供统一的LLM接口访问能力,方便各类AI应用进行调用。
本文将详细介绍如何在VPS服务器上利用Docker部署FreeLLMAPI,打造自己的AI大模型API接口服务,并体验多种免费可用模型的调用方式。
无论是用于个人学习、AI工具开发,还是搭建自己的AI应用后端,这个项目都非常值得尝试。
项目图示
主界面

模型提供商

配合Cherry Studio使用

测试正常

项目简介
FreeLLMAPI
一个兼容OpenAI的端点。18个免费的LLM提供商。161个免费模型。月享17亿Token。
它将来自Google、Groq、Cerebras、NVIDIA、Mistral、OpenRouter、GitHub Models、Cohere、Cloudflare、HuggingFace、Z.ai (Zhipu)、Ollama、Kilo、Pollinations、LLM7、OVH AI Endpoints、OpenCode Zen和AI Horde的免费层级,以及自定义的OpenAI兼容聊天、嵌入、图像和音频端点,整合到一个统一的/v1API中。密钥以加密形式存储。路由器会为每个请求选择最佳可用模型,当某个提供商的速率受到限制时,会自动切换到下一个提供商,并跟踪每个密钥的使用情况,确保您不会超过任何免费层级的上限。
✨ 功能特性
FreeLLMAPI 核心特性总结
FreeLLMAPI是一个兼容OpenAI API标准的AI模型聚合网关,支持多种大模型接口协议,可将多个免费或自定义模型资源统一管理,并提供稳定、高兼容性的API服务。
🚀 多协议 API 兼容
-
OpenAI API 完全兼容
- 支持:
/v1/chat/completions/v1/models
- 兼容官方OpenAI SDK以及:
- LangChain
- LlamaIndex
- Continue
- Hermes等OpenAI兼容客户端
- 只需修改
base_url即可接入。
- 支持:
-
OpenAI Responses API 支持
- 支持:
/v1/responses
- 兼容新版Codex CLI所需的数据格式。
- 支持:
- 流式响应
- 工具调用
- 支持:
-
Anthropic Claude API 支持
- 支持:
/v1/messages/v1/messages/count_tokens
- 兼容:
- Claude Code
- Anthropic官方SDK
- 支持Claude模型自动映射。
- 支持:
部署方法
使用Docker安装
准备条件
1)一台服务器
我们使用莱卡云VPS进行演示
由于网络原因,VPS需要选择美国、日本、韩国等境外地区,或其他支持各种大模型的国家;香港测试发现很多都不支持
需要VPS的可以查看以下配置信息,参考资源占用情况
莱卡云官网
本期Docker容器占用资源情况如下(仅供参考,不到50M)

2)本教程使用到的项目
本教程使用的官方GitHub地址

目前已获得15.8K stars
3)域名(可选)
根据个人需求,Web管理界面建议绑定域名
VPS部署
一、Docker环境部署
在VPS上安装Docker和Docker-Compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-Compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-Compose(中文)
https://duan.yyzq.eu.org//04
推荐直接使用一键脚本
Docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
Docker-Compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录服务器并使用root账户执行以下步骤
Docker-Compose命令
创建一个目录,并进入该目录
mkdir freellmapi ;cd freellmapi
请自行安装vim编辑器
然后新建docker-compose.yml
vim docker-compose.yml
services: # 定义 Docker Compose 服务
freellmapi: # FreeLLMAPI 服务名称
image: ghcr.io/tashfeenahmed/freellmapi:latest # 使用 FreeLLMAPI 最新版 Docker 镜像
environment: # 环境变量配置
NODE_ENV: production # 设置 Node.js 运行环境为生产模式
PORT: 3001 # 设置 FreeLLMAPI 服务端口
ENCRYPTION_KEY: 64627fce7181bbca11b1718c1b431de10ec0235c13d31e07aa1255371b4153fe # API密钥加密KEY,生产环境建议自行修改
ports: # 端口映射配置
- "0.0.0.0:3001:3001" # 将宿主机3001端口映射到容器3001端口,允许所有IP访问
volumes: # 数据持久化配置
- freellmapi-data:/app/server/data # 将Docker数据卷挂载到容器数据目录
restart: always # 容器退出后自动重启
healthcheck: # 容器健康检查配置
test: # 健康检查执行命令
[
"CMD", # 使用CMD方式执行检测
"node", # 使用Node.js运行检测脚本
"-e", # 执行后面的JavaScript代码
"fetch('http://127.0.0.1:3001/api/ping').then((res) => { if (!res.ok) process.exit(1); }).catch(() => process.exit(1));" # 请求健康检查接口,失败则返回异常状态
]
interval: 30s # 每30秒执行一次健康检查
timeout: 5s # 健康检查超时时间为5秒
start_period: 15s # 容器启动15秒后开始健康检查
retries: 3 # 连续失败3次后标记容器异常
volumes: # 定义Docker数据卷
freellmapi-data: # 创建名为freellmapi-data的数据卷,用于保存持久化数据
注意:端口如有冲突,请自行修改
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动后显示如下
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
freellmapi-freellmapi-1 ghcr.io/tashfeenahmed/freellmapi:latest "docker-entrypoint.s…" freellmapi 45 minutes ago Up 45 minutes (healthy) 0.0.0.0:3001->3001/tcp
四、Web界面
打开Web页面,使用
成功启动后,需要打开相应的端口(3001),并在防火墙中放行,即可通过Web端访问
主界面
http://ip:3001
初始化管理员账号

查看初始化代码
首次运行设置代码:Z2YD6AT7V7
docker-compose logs
添加大模型供应商

有超过20种平台可供选择

每种模型都提供快捷地址,可直接跳转到相应的大模型

我目前已添加了以下这些

可用模型如下

绑定域名
在VPS上建议绑定域名,以便于管理。
绑定域名的教程请参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
如有任何问题,欢迎留言或直接咨询
如有任何问题,欢迎留言或直接咨询
如有任何问题,欢迎留言或直接咨询
安卿辰博客







