http://host.docker.internal:11434

环境变量配置

D:\code\dify\docker\.env 文件中加入以下代理配置:

# Whether to Enable human input timeout check task
ENABLE_HUMAN_INPUT_TIMEOUT_TASK=true
# Human input timeout check interval in minutes
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL=1


SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL=90000

CUSTOM_MODEL_ENABLED=true
OLLAMA_API_BASE_URL=http://127.0.0.1:11434

HTTP_PROXY=http://host.docker.internal:7890
HTTPS_PROXY=http://host.docker.internal:7890

FILES_URL=http://localhost
INTERNAL_FILES_URL=http://api:5001  

重启 Docker 服务

执行以下命令重启 Docker 容器:

docker compose down  
docker compose up -d  

Ollama 模型列表

执行 ollama list 后显示的模型信息如下:

NAME                                ID              SIZE      MODIFIED  
qwen2.5vl:7b                        5ced39dfa4ba    6.0 GB    3 hours ago  
dengcao/Qwen3-Reranker-0.6B:Q8_0    c9da58824943    639 MB    4 hours ago  
qwen3-embedding:0.6b                ac6da0dfba84    639 MB    5 days ago  
qwen3:8b                            500a1f067a9f    5.2 GB    2 weeks ago  
deepseek-r1:1.5b                    e0979632db5a    1.1 GB    2 weeks ago  

结论:模型体积=参数量×精度;显存占用=权重+KV Cache+激活(+VL额外模块),多模态模型显存显著更高。


一、计算原理(核心公式)

  • 模型大小(磁盘/显存权重)

    • FP32:参数 × 4 byte
    • FP16:参数 × 2 byte
    • Q8:参数 × 1 byte
    • Q4:参数 × 0.5 byte

因为做了量化(通常 Q4),8B 参数按 4bit 存储≈5GB,所以显示 5.2GB。

  • 估算公式:模型大小≈参数量 × 每参数字节数

    • Q4:0.5 byte → 8B × 0.5 ≈ 4GB(+结构开销≈5.2GB)
    • Q8:1 byte → 8B × 1 ≈ 8GB
    • FP16:2 byte → 8B × 2 ≈ 16GB
  • 快速判断:

    • 5.x GB → 基本是 Q4
    • 8.x GB → Q8
    • 16GB 左右 → 未量化(FP16)
  • 运行显存

    • 显存 ≈ 权重 + KV Cache + 激活 +(VL视觉模块)

二、你的模型对比(关键差异)

模型类型参数权重大小实际显存
qwen3:8b纯文本8B5.2GB(Q4)~8GB
qwen2.5vl:7b多模态7B6.0GB~16GB+

三、为什么 7B 反而更吃显存

  • 多模态开销(核心原因)

    • 视觉编码器(ViT)额外占显存
    • 图像 → token 数暴涨(远高于文本)
    • KV Cache 随 token 数线性增长
  • 纯文本模型更轻

    • 无视觉分支
    • token 数更少
    • KV Cache 更小

四、快速判断规则(实战用)

  • 看大小判断精度

    • ~5GB → Q4
    • ~8GB → Q8
    • ~16GB → FP16
  • 看显存是否异常

    • 纯文本:显存 ≈ 权重 × 1.2~1.8
    • 多模态:显存 ≈ 权重 × 2~4倍

更多推荐