SuperAPI AI 工具集

docker-ai-ml

智能体与模型

查看项目

更新于 10-15 15:13

技能介绍

用途

本技能用于指导在 Docker 上运行 AI 模型与智能体(AI Agent)工作负载。当用户涉及以下关键词时使用:docker ai、docker model、model runner、本地 LLM、local model、offline model、docker agent、AI agent、GPU docker、nvidia docker、sandbox 沙箱、LLM 部署、模型部署。

主要能力

Docker Model Runner

提供本地模型的拉取、推理、交互式聊天与 API 服务模式:

列出可用模型:

docker model ls

拉取模型:

docker model pull ai/gemma3
docker model pull ai/qwen2.5

运行推理:

docker model run ai/gemma3 "Explain Docker in one sentence"

交互式聊天:

docker model run -i ai/gemma3

API 服务模式(访问地址 http://localhost:11434/v1):

docker model serve ai/gemma3 --port 11434

为 AI 编程助手安装技能:

# Install skills for Claude Code
docker model skills --claude

# For Codex CLI
docker model skills --codex

GPU 配置

安装 NVIDIA Container Toolkit(一次性),Ubuntu/Debian:

sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

以 GPU 访问方式运行:

docker run --gpus all -it nvidia/cuda:12.6-base nvidia-smi

指定 GPU:

docker run --gpus device=0 -it nvidia/cuda:12.6-base

GPU 与 Model Runner 结合:

docker model run --gpus all ai/llama3.2

Docker Agent

通过 agent.yaml 定义多智能体系统:

name: my-coding-agent
model:
  provider: openai
  model: gpt-4o
tools:
  - write_file
  - execute_command
  - web_search
sandbox:
  image: node:22-alpine
  workdir: /workspace

运行智能体:

docker agent run -f agent.yaml "Fix the bug in src/app.js"

Docker Sandbox

为 AI 智能体提供隔离执行环境:

sandbox:
  image: python:3.12-slim
  network: none          # No network access
  read_only: true        # Read-only filesystem
  memory: 512m
  cpus: 1

本地 LLM 技术栈(Ollama 备选)

使用开源方案 Ollama 作为替代:

docker run -d --name ollama \
  -p 11434:11434 \
  -v ollama_data:/root/.ollama \
  --gpus all \
  ollama/ollama

# Download and run model
docker exec ollama ollama pull llama3.2
docker exec ollama ollama run llama3.2 "Hello"

使用方式(推荐流程)

  1. 选择推理方案:优先 Docker Model Runner(docker model),Ollama 作为备选。
  2. 检查硬件:GPU 需 Linux + nvidia-container-toolkit;CPU 推理需 8-32GB RAM。
  3. 拉取模型:docker model pull <model> 或 ollama pull <model>。
  4. 启动服务:docker model run 或 ollama serve + 客户端。
  5. 验证:发送测试 prompt 确认模型正常响应。

常见陷阱

  • GPU 不可用:Docker Desktop Mac/Windows 的 GPU 透传有限。完整 GPU 支持需 Linux 宿主 + nvidia-container-toolkit;Mac 上可使用 docker model 卸载推理。
  • 模型下载体积:LLM 体积大(2-70 GB)。docker model pull 将模型缓存于 ~/.docker/models;拉取前用 df -h 检查磁盘;使用量化模型(Q4/Q8)以减小占用。
  • 内存限制:LLM 推理需要显著 RAM(通常 8-32 GB)。可使用 docker run --memory=16g model-runner;用 free -h 检查内存;受限时使用更小模型(7B 而非 70B)。
  • Model Runner 与 Ollama:Docker Model Runner 是 Docker 原生;Ollama 生态更大。使用 docker model 获取 Docker 集成;使用 Ollama 获得更广模型选择;两者可共存。

能力边界(适用与不适用场景)

能做:

  • 本地模型推理(Docker Model Runner / Ollama):拉取并运行开源 LLM,无需 API key。
  • GPU 加速推理:Linux 宿主机 + nvidia-container-toolkit。
  • AI Agent 构建(Docker Agent / Sandboxes):多 agent 协作、沙箱隔离。

需条件:

  • macOS GPU 推理:Docker Desktop 支持有限,优先用 docker model。
  • 大模型(70B+)推理:需 32GB+ RAM,考虑量化模型。

超范围:

  • 训练/微调模型:需专用框架(PyTorch/TensorFlow),不在本技能范围。
  • 云端 API 调用(OpenAI/Claude):非本地推理,使用对应 SDK。
  • 生产模型 Serving(K8s):使用 docker-production + K8s 部署。

何时不使用本技能

  • Docker 基础 → 使用 docker-basics。
  • 构建自定义模型镜像 → 使用 docker-build。
  • 生产模型 Serving(K8s)→ 使用 docker-production。
  • 云端 AI API(无需 Docker)→ 直接 API 访问。

安全与稳定性

  • 尽可能以 --read-only 运行模型容器——模型权重是只读的。
  • 限制模型容器的网络访问,本地推理不需要互联网。
  • GPU 透传会让容器直接访问硬件,可结合 --security-opt 实现隔离。
  • 监控 GPU 显存使用:nvidia-smi 查看利用率。

官方文档参考

  • Docker AI 概述:https://docs.docker.com/ai-overview/
  • Docker Model Runner:https://docs.docker.com/ai/model-runner/
  • Docker Model Runner 入门:https://docs.docker.com/ai/model-runner/get-started/
  • Docker Agent:https://docs.docker.com/ai/docker-agent/
  • Docker Sandboxes:https://docs.docker.com/ai/sandboxes/
  • AI/ML 示例:https://docs.docker.com/reference/samples/ai-ml/