AI 大模型开发

本地部署 ollma+ qwen 7B大模型

JACIN2 分钟阅读
AI 摘要

这是一份面向本机 Docker 环境的 Ollama 部署记录,目标是在本地启动可调用的 Qwen2.5 大模型服务,并通过接口验证生成能力。正文给出 docker-compose.yml 的核心配置,包括 11434 端口映射、./ollama_data 持久化模型数据、容器自动重启,以及 OLLAMA_KEEP_ALIVE、OLLAMA_NUM_PARALLEL、OLLAMA_MAX_LOADED_MODELS、OLLAMA_ORIGINS 等运行参数。资源部分显式限制容器最多使用 18G 内存,同时用常驻内存、4 路并发和最多加载 2 个模型来平衡响应速度与本机资源占用。模型操作通过 docker exec 进入 ollama 容器执行 ollama run qwen2.5:7b,也补充了 qwen2.5:14b 的可选尝试,并提示 14B 的 4bit 量化大约需要 9GB 内存。文章还区分了模型文件存放在硬盘与按请求 model 参数加载到内存的行为:请求 7B 会加载 7B,请求 14B 时可能卸载 7B 再加载 14B。最后用 curl 调用 http://localhost:11434/api/generate,指定 qwen2.5:7b、prompt 和 stream 参数,作为部署是否可用的最小验证,适合需要快速搭建本地中文大模型 API 的开发者参考。

vim docker-compose.yml

text
version: '3.8'

services:
  ollama:
    container_name: ollama
    image: ollama/ollama:latest
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_data:/root/.ollama
    environment:
      - OLLAMA_KEEP_ALIVE=24h        # 让模型常驻内存,不要卸载,你内存够
      - OLLAMA_NUM_PARALLEL=4        # 🚀 关键:允许同时处理 4 个请求
      - OLLAMA_MAX_LOADED_MODELS=2   # 允许同时加载 2 个不同的模型
      - OLLAMA_ORIGINS="*"
    deploy:
      resources:
        limits:
          memory: 18G                # 限制最大使用 18G,留点给系统

下载并运行 Qwen2.5-7B

text
# 拉取千问 7B (目前中文表现最好的 7B 模型)
docker exec -it ollama ollama run qwen2.5:7b

# (可选) 如果想试试更强的,内存甚至跑得起 14B (4bit量化约需 9GB 内存)
docker exec -it ollama ollama run qwen2.5:14b



硬盘层面: 你下载了 7B 和 14B,它们都在硬盘里躺着。

内存层面:

如果你请求里的参数写 "model": "qwen2.5:7b",Ollama 就把 7B 加载进内存。

如果你请求里的参数写 "model": "qwen2.5:14b",Ollama 就会自动把 7B 踢出内存(Unload),然后把 14B 加载进去。

测试代码对吗:

text
curl http://localhost:11434/api/generate -d '{
  "model": "qwen2.5:7b",
  "prompt": "请用三句话解释一下为什么量子力学很难懂?",
  "stream": true
}'

评论

还没有评论,来发第一个吧