使用vLLM本地部署大模型之后,在终端使用如下这个指令“VLLM_USE_MODELSCOPE=true vllm serve /root/autodl-tmp/Qwen/Qwen3-8B --served-model-name Qwen3-8B --max_model_len 8192 --reasoning-parser deepseek_r1”可以打开本地网址“http://localhost:8000/”的vLLM的API服务器路由,我们可以通过提供的路由与大模型进行交互或者搭建自动化工作流。

目录

方法一:使用命令行进行调用交互

📌 1. GET 请求

📌 2. POST 请求

方法二:使用Python脚本进行调用

🔑 说明:


调用“VLLM_USE_MODELSCOPE=true vllm serve /root/autodl-tmp/Qwen/Qwen3-8B --served-model-name Qwen3-8B --max_model_len 8192 --reasoning-parser deepseek_r1”指令,终端会输出如下vLLM的API服务日志:(详细解释看如下Blog:vLLM API 服务启动日志详解

方法一:使用命令行进行调用交互

在终端调用如下指令

curl http://localhost:8000

会得到 vLLM 的 健康检查/根路径信息,大概率是:

{"status":"ok"}

在终端用 curl 就能直接模拟 GETPOST 请求。给你两个最常见的例子:


📌 1. GET 请求

curl -X GET "http://localhost:8000/v1/models"

解释:

  • -X GET 指定方法为 GET(不写也行,curl 默认就是 GET)

  • URL 是 http://localhost:8000/v1/models,会返回当前服务加载的模型信息。


📌 2. POST 请求

调用 vLLM 的 Chat Completions 接口

curl -X POST "http://localhost:8000/v1/chat/completions" \
     -H "Content-Type: application/json" \
     -d '{
           "model": "Qwen3-8B",
           "messages": [
             {"role": "user", "content": "你好,介绍一下你自己"}
           ],
           "max_tokens": 200
         }'

解释:

返回的结果会是 JSON,例如:

{
  "id": "chatcmpl-xxxx",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "你好,我是一个 AI 模型..."},
      "finish_reason": "stop"
    }
  ]
}

方法二:使用Python脚本进行调用

如下是 Python 调用示例,请求 vLLM 本地启动的 /v1/chat/completions 接口:

import requests

# vLLM 本地 API 地址
url = "http://localhost:8000/v1/chat/completions"

# 请求头(必须带上 Content-Type)
headers = {
    "Content-Type": "application/json"
}

# 请求体,类似 OpenAI 的 chat 格式
data = {
    "model": "your-model-name",   # 替换成你加载的模型名称
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "帮我写一句关于人工智能的诗。"}
    ],
    "max_tokens": 128,
    "temperature": 0.7,
    "top_p": 0.9
}

# 发送 POST 请求
response = requests.post(url, headers=headers, json=data)

# 打印结果
if response.status_code == 200:
    result = response.json()
    print("生成结果:", result["choices"][0]["message"]["content"])
else:
    print("请求失败:", response.status_code, response.text)

🔑 说明:

  1. url:如果你在别的机器调用,就把 localhost 换成服务所在机器的 IP,比如 http://192.168.1.100:8000/v1/chat/completions

  2. model:要填你启动 vLLM 时加载的模型名称(比如 "Qwen/Qwen2-7B-Instruct")。

  3. messages:对话格式,兼容 OpenAI 风格,必须有 role(system/user/assistant)和 content

  4. temperature/top_p:控制生成的多样性和创造性,可以根据需要调整。

Logo

更多推荐