基于 vLLM 搭建 OpenAI 兼容 API 服务并接入现有应用
目标 让本地部署的模型可以像调用 OpenAI 官方 API 一样被现有代码无缝调用,只需替换 base_url 和 api_key。 启动服务 vllm serve Qwen/Qwen2.5-7B-Instruct-AWQ \ --quantization awq \ --served-model-name my-local-llm \ --api-key sk-local-demo-key \ --port 8000 --served-model-name 决定客户端请求中 model 字段应填写的值;--api-key 用于简单鉴权。 Python 客户端调用 from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:8000/v1", api_key="sk-local-demo-key", ) resp = client.chat.completions.create( model="my-local-llm", messages=[{"role": "user", "content": "用一句话解释向量数据库"}], ) print(resp.choices[0].message.content) 使用 systemd 常驻服务 避免通过 nohup 挂起进程,推荐用 systemd 管理: # /etc/systemd/system/vllm.service [Unit] Description=vLLM Inference Server After=network.target [Service] User=vllmuser WorkingDirectory=/opt/vllm ExecStart=/opt/vllm/vllm-env/bin/vllm serve Qwen/Qwen2.5-7B-Instruct-AWQ --port 8000 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl enable --now vllm 通过 Nginx 反向代理暴露服务 生产环境不建议直接暴露 8000 端口,应通过 Nginx 做 TLS 终止与限流,具体配置可参考本站《Nginx 反向代理与 HTTPS 配置》一文。 ...