
ezlocalai是一款易于设置的人工智能服务器,允许用户从本地计算机轻松运行多模态人工智能。它旨在简化本地模型的启动流程,自动处理模型下载并根据CPU、RAM和GPU规格配置服务器。该镜像包含OpenAI风格端点,可作为任何模型的OpenAI API代理与其他应用集成,还内置语音克隆文本转语音、语音转文本功能以及完全离线的图像生成能力。
安装CLI并通过单命令启动ezlocalai:
bashpip install ezlocalai ezlocalai start
首次运行时需要几分钟下载模型。运行后,可通过http://localhost:8091访问API。
bash# 使用默认配置启动(自动检测GPU,使用Qwen3-VL-4B) ezlocalai start # 使用特定模型启动 ezlocalai start --model unsloth/gemma-3-4b-it-GGUF # 使用自定义选项启动 ezlocalai start --model unsloth/Qwen3-VL-4B-Instruct-GGUF \ --uri http://localhost:8091 \ --api-key my-secret-key \ --ngrok <your-ngrok-token> # 其他命令 ezlocalai stop # 停止容器 ezlocalai restart # 重启容器 ezlocalai status # 检查运行状态并显示配置 ezlocalai logs # 显示容器日志(使用-f参数实时跟踪) ezlocalai update # 拉取/重建最新镜像 # 直接从CLI发送提示 ezlocalai prompt "Hello, world!" ezlocalai prompt "这张图片里有什么?" -image ./photo.jpg ezlocalai prompt "解释量子计算" -m unsloth/Qwen3-VL-4B-Instruct-GGUF -temp 0.7
| 选项 | 默认值 | 描述 |
|---|---|---|
--model, -m | unsloth/Qwen3-VL-4B-Instruct-GGUF | HuggingFace GGUF模型,逗号分隔 |
--uri | http://localhost:8091 | 服务器URL |
--api-key | 无 | 认证API密钥 |
--ngrok | 无 | ***令牌,用于生成公网URL |
| 选项 | 默认值 | 描述 |
|---|---|---|
-m, --model | 自动检测 | 用于提示的模型 |
-temp, --temperature | 模型默认值 | 响应生成温度(0.0-2.0) |
-tp, --top-p | 模型默认值 | Top-p(核)采样参数(0.0-1.0) |
-image, --image | 无 | 本地图像文件路径或URL |
-stats, --stats | 关闭 | 响应后显示统计信息(令牌数、速度、时间) |
对于其他选项(如Whisper、图像模型等),编辑~/.ezlocalai/.env文件。
所有数据存储在~/.ezlocalai/目录:
| 目录 | 内容 |
|---|---|
~/.ezlocalai/data/models/ | 下载的GGUF模型文件 |
~/.ezlocalai/data/hf/ | HuggingFace缓存 |
~/.ezlocalai/data/voices/ | 语音克隆样本 |
~/.ezlocalai/data/outputs/ | 生成的图像/音频 |
~/.ezlocalai/.env | 配置文件 |
模型在容器更新时会保留,更新CLI或重建CUDA镜像时无需重新下载。
在Intel i9-***KS + RTX 4090 (24GB)上的性能测试:
| 模型 | 大小 | 速度 | 说明 |
|---|---|---|---|
| Qwen3-VL-4B | 4B | ~210 tok/s | 支持视觉,适合聊天 |
| Qwen3-Coder-30B | 30B (MoE) | ~65 tok/s | 编码模型,支持热切换 |
两个模型均在启动时预校准,热切换时间约1秒。
ezlocalai支持分布式fallback系统,当本地资源(VRAM/RAM)耗尽时,多个实例可相互fallback,或fallback到任何OpenAI兼容API。这实现了:
在.env文件中设置以下环境变量或传递给容器:
bash# Fallback服务器URL - 可以是另一个ezlocalai实例或任何OpenAI兼容API FALLBACK_SERVER=http://192.168.1.100:8091 # 另一个ezlocalai实例 # 或使用云服务提供商: # FALLBACK_SERVER=https://api.openai.com/v1 # Fallback服务器认证 FALLBACK_API_KEY=your-api-key # 可选:覆盖OpenAI兼容fallback的模型(默认传递原始请求模型) # 如果未设置,原始请求的模型将传递给fallback服务器 # FALLBACK_MODEL=gpt-4o-mini # 组合内存阈值(VRAM + RAM),单位GB - 低于此值时触发fallback # 模型可卸载到系统RAM,因此组合内存比单独VRAM更准确 FALLBACK_MEMORY_THRESHOLD=8.0
系统通过检查/v1/resources端点自动检测FALLBACK_SERVER是另一个ezlocalai实例还是OpenAI兼容API。若是ezlocalai服务器,使用完整端点转发(保留原始请求);否则fallback到标准OpenAI API调用,传递原始请求模型(或使用FALLBACK_MODEL覆盖)。
机器A(带RTX 4090的主服务器):
bashEZLOCALAI_URL=http://0.0.0.0:8091 EZLOCALAI_API_KEY=shared-key FALLBACK_SERVER=http://machine-b:8091 FALLBACK_API_KEY=shared-key
机器B(带RTX 3080的fallback服务器):
bashEZLOCALAI_URL=http://0.0.0.0:8091 EZLOCALAI_API_KEY=shared-key FALLBACK_SERVER=http://machine-a:8091 FALLBACK_API_KEY=shared-key
两台机器相互fallback,形成弹性双节点集群。
运行本地ezlocalai并以OpenAI为fallback:
bashEZLOCALAI_URL=http://0.0.0.0:8091 FALLBACK_SERVER=https://api.openai.com/v1 FALLBACK_API_KEY=sk-your-openai-key FALLBACK_MODEL=gpt-4o-mini
通过API检查fallback状态:
bash# 获取资源状态,包括fallback信息 curl http://localhost:8091/v1/resources # 检查fallback可用性和模型 curl http://localhost:8091/v1/fallback/status
当fallback到另一个ezlocalai实例时,自动转发以下端点:
/v1/chat/completions - 聊天补全(包括流式传输)/v1/completions - 文本补全/v1/embeddings - 文本嵌入/v1/audio/transcriptions - 语音转文本/v1/audio/speech - 文本转语音/v1/images/generations - 图像生成对于OpenAI兼容API,仅转发聊天补全和嵌入。
ezlocalai支持将TTS(文本转语音)和STT(语音转文本)处理卸载到专用语音服务器。这在以下场景特别有用:
设置VOICE_SERVER环境变量:
bash# 选项1:指向另一台ezlocalai服务器进行语音处理 VOICE_SERVER=http://192.168.1.100:8091 VOICE_SERVER_API_KEY=your-api-key # 可选,未设置时使用EZLOCALAI_API_KEY # 选项2:将此服务器设为语音服务器(保持TTS/STT加载) VOICE_SERVER=true
VOICE_SERVER=true)设为true时,服务器成为专用语音服务器:
VOICE_SERVER=<url>)设为URL时,语音请求转发到该服务器:
机器A(带RTX 4090的主LLM服务器):
bashDEFAULT_MODEL=unsloth/Qwen3-Coder-30B-GGUF VOICE_SERVER=http://machine-b:8091 VOICE_SERVER_API_KEY=shared-key
机器B(带RTX 3090的语音服务器):
bashDEFAULT_MODEL=unsloth/Qwen3-4B-Instruct-GGUF # 用于基本任务的小型LLM VOICE_SERVER=true # 保持语音模型加载
机器A处理LLM推理,机器B处理所有语音处理,模型始终就绪。
ezlocalai包含完整的唤醒词训练和推理系统,支持AI助手的自定义语音激活。当VOICE_SERVER=true时,唤醒词端点启用。
ezlocalai使用TTS生成样本训练唤醒词模型,并导出多种格式用于跨平台部署:
mermaidgraph LR A[用户选择唤醒词] --> B[ezlocalai训练模型] B --> C[导出: PyTorch .pt] B --> D[导出: ONNX .onnx] B --> E[导出: ESPDL .espdl] C --> F[服务器推理] D --> G[移动应用<br/>ONNX Runtime Mobile] E --> H[ESP32-S3<br/>ESP-DL Framework]
| 格式 | 扩展名 | 大小 | 目标平台 | 框架 |
|---|---|---|---|---|
| PyTorch | .pt | ~1.7MB | 服务器 | PyTorch |
| ONNX | .onnx | ~1.7MB | 移动设备 | ONNX Runtime Mobile |
| ESPDL | .espdl | ~460KB | ESP32-S3 | ESP-DL v2.0+ |
ESPDL格式量化为int8,用于微控制器上的高效推理,模型大小减少约75%同时保持准确性。
bash# 训练新唤醒词模型 curl -X POST "http://localhost:8091/v1/wakeword/train" \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"word": "hey jarvis"}' # 检查训练状态 curl "http://localhost:8091/v1/wakeword/jobs/{job_id}" \ -H "Authorization: Bearer your-api-key" # 列出可用模型 curl "http://localhost:8091/v1/wakeword/models" \ -H "Authorization: Bearer your-api-key" # 下载移动模型(ONNX格式) curl "http://localhost:8091/v1/wakeword/models/hey%20jarvis?format=onnx" \ -H "Authorization: Bearer your-api-key" \ -o hey_jarvis_model.onnx # 下载ESP32-S3模型(ESPDL格式) curl "http://localhost:8091/v1/wakeword/models/hey%20jarvis?format=espdl" \ -H "Authorization: Bearer your-api-key" \ -o hey_jarvis_model.espdl # 下载服务器端推理的PyTorch模型 curl "http://localhost:8091/v1/wakeword/models/hey%20jarvis?format=pytorch" \ -H "Authorization: Bearer your-api-key" \ -o hey_jarvis_model.pt
移动应用(Flutter/Dart):
dart// 从ezlocalai下载模型 final response = await http.get( Uri.parse('$serverUrl/v1/wakeword/models/$wakeWord?format=onnx'), headers: {'Authorization': 'Bearer $apiKey'}, ); // 使用ONNX Runtime Mobile保存和加载 final session = await OrtSession.create(modelPath);
ESP32-S3(C with ESP-DL):
c#include "custom_wakeword.h" // 初始化自定义唤醒词系统 custom_wakeword_init(); // 从服务器下载模型(存储在NVS中) custom_wakeword_download_model( "[***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务