Appearance
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