使用 LocalAI 镜像挂载大模型提供 AI 服务

部署运行你感兴趣的模型镜像

🔧 一、Docker 部署与模型挂载

  1. 选择镜像

    • 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
      
  2. 目录结构说明

    • 宿主机模型目录需包含:
      • 模型文件(.gguf.bin 格式,如 llama-3.2-1b-instruct.gguf
      • 配置文件(.yaml,定义模型参数)
      • 提示词模板(.tmpl,可选)

📥 二、模型准备与配置

  1. 获取兼容模型

    • 支持 GGUF 格式的模型(如 Llama、Mistral 等),来源:
      • Hugging Face Hub:例如 TheBloke/Llama-3-8B-GGUF
      • 国内镜像站:替换 huggingface.cohf-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
      
  2. 配置文件示例
    在模型目录创建 llama-3.8b.yaml,内容如下:

    name: llama-3.8b
    backend: llama
    parameters:
      model: llama-3.8b.gguf  # 匹配模型文件名
    context_size: 4096
    

🚀 三、服务验证与使用

  1. 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
    }'
    
  2. Web UI 交互
    访问 http://localhost:8080 进入 LocalAI 界面:

    • Models 页:确认模型已加载(显示为 “Installed”)
    • Chat 页:选择模型并对话

🌐 四、远程访问(内网穿透)

  1. 使用 cpolar 暴露服务

    # 安装 cpolar
    sudo curl https://get.cpolar.sh | sh
    # 创建 HTTP 隧道(映射本地 8080 端口)
    cpolar http 8080
    
    • 获取公网地址(如 74a373e2.r8.cpolar.top
  2. 固定域名(长期使用)

    • 在 cpolar 管理界面保留二级子域名(如 mylocal.cpolar.top
    • 更新隧道配置为固定域名

⚠️ 五、常见问题解决

  • 模型加载失败
    检查模型文件、配置文件名是否一致,且路径正确挂载到 /models
  • 网络下载超时
    替换 huggingface.cohf-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 官方文档

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>我们正在讨论在Docker中使用vLLM部署大语言模型。根据用户的问题和提供的引用[^1],用户希望了解如何使用vLLM在Docker中部署大语言模型,特别是参考了通义千问Qwen的部署示例。引用[^1]中给出了一个具体的命令:dockerrun--gpusall-it--namevllm-qwen-v/home/rkty/qwen:/workspace/qwen-d-p9997:8000--ipc=hostpython:3.10但是,这个命令只是运行了一个Python3.10的基础镜像,并没有直接使用vLLM镜像。因此,我们需要调整步骤,以使用vLLM来部署大模型。实际上,vLLM提供了一个预构建的Docker镜像,我们可以直接使用。以下是使用vLLM官方Docker镜像部署大模型的步骤:步骤1:拉取vLLM的Docker镜像我们可以从DockerHub上拉取vLLM的官方镜像,该镜像已经包含了vLLM及其依赖。步骤2:运行容器,并挂载模型目录(如果需要)如果模型在本地,可以将模型目录挂载到容器中。另外,需要映射端口(vLLM默认使用8000端口)和设置GPU支持。步骤3:在容器内启动API服务器运行容器后,在容器内启动vLLM的API服务器,指定要加载的模型。具体步骤:1.拉取vLLM的Docker镜像:dockerpullvllm/vllm-openai:latest2.运行容器(以Qwen-7B-Chat模型为例,假设模型已经下载到本地路径`/path/to/qwen-7b-chat`):dockerrun--runtimenvidia--gpusall\-v/path/to/qwen-7b-chat:/app/model\-p8000:8000\--ipc=host\vllm/vllm-openai:latest\--model/app/model\--tokenizer/app/model#如果tokenizer路径与模型路径相同注意:上面的命令中,我们使用了`vllm/vllm-openai:latest`镜像,该镜像提供了OpenAI兼容的API服务。参数说明:--runtimenvidia:使用NVIDIA容器运行时(如果使用nvidia-docker2,可以直接用`--gpusall`,而`--runtimenvidia`可能不需要)-v:将本地的模型目录挂载到容器内的/app/model目录-p:将容器的8000端口映射到主机的8000端口--ipc=host:使用主机的IPC命名空间,有助于提高GPU内存共享性能在容器启动时,它会自动运行vLLM的API服务器,并加载指定的模型。3.测试API:可以使用curl命令测试:curlhttp://localhost:8000/v1/completions\-H"Content-Type:application/json"\-d'{"model":"/app/model","prompt":"SanFranciscoisa","max_tokens":7,"temperature":0}'另外,如果模型是HuggingFaceHub上的,也可以直接指定模型名称(而不需要挂载本地目录):dockerrun--gpusall\-p8000:8000\--ipc=host\vllm/vllm-openai:latest\--modelQwen/Qwen-7B-Chat注意:使用Hub上的模型需要容器能够访问互联网。注意事项:-确保本地有足够的GPU内存来加载模型(例如7B模型可能需要至少15GB的GPU内存)。-如果需要使用其他参数(如tensor并行等),可以在运行容器时添加vLLM的启动参数。关于vLLM的更多部署选项,可以参考官方文档:https://vllm.readthedocs.io/根据引用[^1]中的示例,用户可能已经下载了Qwen模型到本地,因此我们使用挂载本地目录的方式。因此,针对用户的问题,我们可以给出以下步骤:1.下载模型:首先确保在本地下载了需要部署的大语言模型(例如Qwen-7B-Chat)。2.使用上述docker命令运行容器。如果用户想要使用自己构建的镜像(例如使用Python基础镜像自己安装vLLM),则步骤会复杂一些,但引用[^1]中给出的命令就是这种方式。不过,使用官方镜像更为简便。因此,我们推荐使用vLLM官方镜像。下面,我们按照用户的要求,生成相关问题:</think>### 在 Docker 中使用 vLLM 镜像部署大语言模型 以下是使用 vLLM 在 Docker 中部署大语言模型的完整步骤(以通义千问 Qwen 为例): #### 1. **准备 Docker 环境** ```bash # 安装 nvidia-container-toolkit (确保 GPU 支持) sudo apt-get install nvidia-container-toolkit sudo systemctl restart docker ``` #### 2. **拉取 vLLM 镜像并运行容器** ```bash docker run --gpus all -it --name vllm-qwen \ -v /本地/模型路径:/workspace/model \ # 挂载模型目录 -p 9997:8000 \ # 暴露 API 端口 --ipc=host \ # 共享内存优化 vllm/vllm-openai:latest \ # 官方镜像 --model /workspace/model \ # 模型路径 --tensor-parallel-size 2 # GPU 并行数 ``` **参数说明**: - `--gpus all`:启用所有 GPU - `-v`:将本地模型目录挂载到容器内 - `--ipc=host`:提升大模型加载性能[^1] - `vllm/vllm-openai`:官方预构建镜像 #### 3. **验证部署** ```bash # 发送测试请求 curl http://localhost:9997/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "/workspace/model", "prompt": "你好,请介绍一下自己", "max_tokens": 100 }' ``` #### 4. **高级配置** ```dockerfile # 自定义 Dockerfile 示例 FROM vllm/vllm-openai:latest COPY qwen-7b /app/model # 复制模型文件 CMD ["python", "-m", "vllm.entrypoints.openai.api_server", \ "--model", "/app/model", "--port", "8000"] ``` ### 常见问题解决 1. **GPU 内存不足**: - 添加 `--quantization awq` 启用 4bit 量化 - 减少 `--tensor-parallel-size` 值 2. **模型加载失败**: - 确认挂载路径正确 - 检查模型文件完整性 (SHA256) 3. **API 响应慢**: - 添加 `--block-size 16` 优化内存管理 - 启用 `--swap-space 8` 使用 SSD 缓存 > 提示:vLLM 官方镜像已预装 CUDA 12.1 和 PyTorch 2.2,支持 HuggingFace 格式模型[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值