Skip to content

vllm 和 ollama

使用 vLLM 启动大模型服务

下载依赖库

bash
uv pip install modelscope
uv pip install vllm

使用 modelscope 下载大模型 qwen/Qwen2-1.5B-Instruct

py
from modelscope import snapshot_download

model_dir = snapshot_download("qwen/Qwen2-1.5B-Instruct")
print(model_dir)

使用 vLLM 启动大模型服务。vLLM 可以直接读取 HF 模型目录(safetensors 格式)

bash
vllm serve \
    /Users/luca/.cache/modelscope/hub/models/qwen/Qwen2-1___5B-Instruct \
    --host 0.0.0.0 \
    --port 8000 \
    --served-model-name Qwen2-1.5B-Instruct \
    --max-num-batched-tokens 32768 # 一次能放多少 token

使用 OpenAI API 风格访问大模型服务

bash
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen2-1.5B-Instruct",
    "messages": [{"role": "user", "content": "你好"}]
  }'

响应

bash
{"id":"chatcmpl-a756a133a4574c549c6b84da62dd122a","object":"chat.completion","created":1765532313,"model":"Qwen2-1.5B-Instruct","choices":[{"index":0,"message":{"role":"assistant","content":"你好!有什么我可以帮助你的吗?","refusal":null,"annotations":null,"audio":null,"function_call":null,"tool_calls":[],"reasoning_content":null},"logprobs":null,"finish_reason":"stop","stop_reason":null,"token_ids":null}],"service_tier":null,"system_fingerprint":null,"usage":{"prompt_tokens":20,"total_tokens":29,"completion_tokens":9,"prompt_tokens_details":null},"prompt_logprobs":null,"prompt_token_ids":null,"kv_transfer_params":null}

使用 ollama 启动大模型服务

Ollama 需要 GGUF 格式 + Modelfile

因此需要先将 HF 模型目录(safetensors 格式)转化为 gguf 格式

llama.cpp 的 convert 工具转成 GGUF

首先下载 llama.cpp

bash
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# 使用 pip 代替 uv,否则会报错
pip install -r requirements.txt

将 HF 模型结构转为 GUFF

bash
python3 convert_hf_to_gguf.py \
  /Users/luca/.cache/modelscope/hub/models/qwen/Qwen2-1___5B-Instruct \
  --outfile qwen2-1.5b.gguf \
  --outtype q8_0

准备一个 Modefile

FROM ./qwen2-1.5b.gguf
TEMPLATE "{{ .Prompt }}"

PARAMETER temperature 0.7

创建 ollama 模型,然后就可以开始对话了

bash
ollama create qwen2-1.5b -f Modelfile
ollama run qwen2-1.5b

删除 ollama 模型

bash
ollama list
ollama rm qwen2.5:14b