轻量级多模型部署实践:Ollama 与 vLLM 快速构建高效 AI 工作流20250306

轻量级多模型部署实践:Ollama 与 vLLM 快速构建高效 AI 工作流

本文将详细介绍如何在 Mac OS 与 Ubuntu 环境下使用 Ollama 与 vLLM 进行轻量级多模型部署,包括模型并行推理、安全与性能优化的实践经验,帮助初学者快速上手。


一、Ollama 部署与优化最佳实践

Mac OS 快速部署

安装 Ollama(如已安装可跳过)

使用 Homebrew 快速安装 Ollama:

brew install ollama
模型拉取与管理
ollama pull qwen:7b
ollama pull deepseek-r1:7b
ollama pull qwen2.5:7b

# 查看已下载模型
ollama list
同时运行多个模型实例

Ollama 默认单实例无法同时运行多个模型,我们可以通过为每个模型实例分配不同端口实现并行部署:

# 启动实例1 - qwen:7b
export OLLAMA_HOST=127.0.0.1:11434
ollama serve &
ollama run qwen:7b

# 启动实例2 - deepseek-r1:7b
export OLLAMA_HOST=127.0.0.1:11435
ollama serve &
ollama run deepseek-r1:7b

也可使用 Docker 快速部署:

docker run -d -p 11434:11434 --name ollama-qwen ollama/ollama serve
docker exec ollama-qwen ollama run qwen:7b

docker run -d -p 11435:11434 --name ollama-deepseek ollama/ollama serve
docker exec ollama-deepseek ollama run deepseek-r1:7b

Ubuntu 环境部署

基础安装
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen:7b
ollama serve qwen:7b
Docker 推荐部署方法

创建 Dockerfile:

FROM ollama/ollama
RUN ollama pull qwen:7b
CMD ["ollama", "serve", "qwen:7b"]

容器启动示例:

docker build -t ollama-qwen .
docker run -d --name ollama-qwen -p 11434:11434 ollama-qwen
Nginx 反向代理与 SSL 配置提升安全性
server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /path/fullchain.pem;
    ssl_certificate_key /path/privkey.pem;

    location /ollama-qwen {
        proxy_pass http://127.0.0.1:11434;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

二、vLLM 部署与优化(推荐)

vLLM 是一款性能强大的轻量级推理引擎,具有极佳的并发性能,适合生产环境。

安装与配置环境
conda create -n ai_assistant_env python=3.10
conda activate ai_assistant_env
pip install vllm transformers fastapi uvicorn
部署模型 API 服务
# 从 HuggingFace 下载模型
git clone https://huggingface.co/Qwen/Qwen-7B
git clone https://huggingface.co/deepseek-ai/deepseek-llm-7b-chat

# 启动服务
python -m vllm.entrypoints.api_server --model ./Qwen-7B --port 8000 &
python -m vllm.entrypoints.api_server --model ./deepseek-llm-7b-chat --port 8001 &
API 并发调用示例
curl -X POST http://127.0.0.1:8000/generate -d '{"prompt": "Hello, AI!"}' -H "Content-Type: application/json"
curl -X POST http://127.0.0.1:8001/generate -d '{"prompt": "Explain quantum computing."}' -H "Content-Type: application/json"

三、安全、性能与监控优化

性能优化

使用量化提高推理性能:

python -m vllm.entrypoints.api_server --model MODEL_PATH --quantization awq

限制容器资源防止超载:

docker run -d --cpus=4 --memory=8g your-model-container

安全优化

启用防火墙与 API 权限控制:

sudo ufw allow 11434/tcp
sudo ufw enable

使用 Nginx 提供基本认证:

location /model-api {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:8000;
}

创建认证用户:

sudo htpasswd -c /etc/nginx/.htpasswd username

性能监控(Prometheus + Grafana)

启动 vLLM Prometheus 指标服务:

python -m vllm.entrypoints.api_server --model ./model_path --served-model-name my_model --metrics-port 9000

配置 Prometheus 抓取指标:

scrape_configs:
  - job_name: 'vllm-my_model'
    static_configs:
      - targets: ['localhost:9000']

部署方案对比

特性 Ollama 默认 Docker容器化 vLLM推荐
多模型并发 不支持 支持 支持,高效
性能优化 一般 中等 极佳(量化TP)
安全保障 基本 推荐,容器化 推荐,安全隔离
资源消耗 中等 可控 低,高效
易用性 简单 中等 较易

推荐使用场景

使用场景 推荐方案
本地开发与快速调试 Ollama
生产环境多模型部署 vLLM 或 Docker 化的 Ollama

希望本文能助你快速实现企业级 AI 模型部署与优化,与大家共同成长进步!

你可能感兴趣的:(智浪初航,人工智能)