🔧 一、Docker 部署与模型挂载
-
选择镜像
- CPU 版(通用硬件):
docker run -ti --name local-ai -p 8080:8080 \ -v /宿主机/模型目录:/models \ # 关键:挂载模型目录 localai/localai:latest-cpu - GPU 版(需 NVIDIA 驱动):
docker run -ti --name local-ai -p 8080:8080 --gpus all \ -v /宿主机/模型目录:/models \ # 挂载模型目录 localai/localai:latest-gpu-nvidia-cuda-12
- CPU 版(通用硬件):
-
目录结构说明
- 宿主机模型目录需包含:
- 模型文件(
.gguf或.bin格式,如llama-3.2-1b-instruct.gguf) - 配置文件(
.yaml,定义模型参数) - 提示词模板(
.tmpl,可选)
- 模型文件(
- 宿主机模型目录需包含:
📥 二、模型准备与配置
-
获取兼容模型
- 支持 GGUF 格式的模型(如 Llama、Mistral 等),来源:
- Hugging Face Hub:例如 TheBloke/Llama-3-8B-GGUF
- 国内镜像站:替换
huggingface.co为hf-mirror.com加速下载
- 示例下载命令:
wget https://hf-mirror.com/TheBloke/Llama-3-8B-GGUF/resolve/main/llama-3-8b.Q4_K_M.gguf \ -O /宿主机/模型目录/llama-3.8b.gguf
- 支持 GGUF 格式的模型(如 Llama、Mistral 等),来源:
-
配置文件示例
在模型目录创建llama-3.8b.yaml,内容如下:name: llama-3.8b backend: llama parameters: model: llama-3.8b.gguf # 匹配模型文件名 context_size: 4096
🚀 三、服务验证与使用
-
API 调用测试
通过curl验证模型是否正常运行:curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "llama-3.8b", "messages": [{"role": "user", "content": "你好,请自我介绍"}], "temperature": 0.7 }' -
Web UI 交互
访问http://localhost:8080进入 LocalAI 界面:- Models 页:确认模型已加载(显示为 “Installed”)
- Chat 页:选择模型并对话
🌐 四、远程访问(内网穿透)
-
使用 cpolar 暴露服务
# 安装 cpolar sudo curl https://get.cpolar.sh | sh # 创建 HTTP 隧道(映射本地 8080 端口) cpolar http 8080- 获取公网地址(如
74a373e2.r8.cpolar.top)
- 获取公网地址(如
-
固定域名(长期使用)
- 在 cpolar 管理界面保留二级子域名(如
mylocal.cpolar.top) - 更新隧道配置为固定域名
- 在 cpolar 管理界面保留二级子域名(如
⚠️ 五、常见问题解决
- 模型加载失败
检查模型文件、配置文件名是否一致,且路径正确挂载到/models。 - 网络下载超时
替换huggingface.co为hf-mirror.com加速。 - GPU 未生效
确认 Docker 命令包含--gpus all并安装 NVIDIA Container Toolkit。
💎 关键点总结
| 步骤 | 核心操作 | **引用 |
|---|---|---|
| 模型挂载 | -v /宿主机/模型目录:/models | |
| 模型配置 | 提供 .yaml + .gguf 文件对 | |
| 国内加速 | 使用 hf-mirror.com 替代 Hugging Face | |
| 服务验证 | curl 调用 /v1/chat/completions 接口 | |
| 远程访问 | cpolar 绑定二级子域名 |
通过以上步骤,可在消费级硬件(无需高端 GPU)部署私有 AI 服务,兼顾数据安全与灵活性。如需更多模型示例或高级配置,可参考 LocalAI 官方文档。
2277

被折叠的 条评论
为什么被折叠?



