> 技术文档 > OpenWebUI 上使用Vllm部署的模型_openwebui vllm

OpenWebUI 上使用Vllm部署的模型_openwebui vllm


1. 安装 vLLM 和依赖

首先,确保你已经安装了 vLLM 和相关依赖。你可以通过以下命令安装:

bash复制

pip install vllm

2. 下载并准备模型

假设你已经下载了模型文件(如 DeepSeek-R1-Distill-Qwen-7B),并将其放在 /root/model/ 目录下。

3. 启动 vLLM 服务

在终端中运行以下命令来启动 vLLM 服务。这里我们假设模型路径为 /root/model/DeepSeek-R1-Distill-Qwen-7B,并指定服务端口为 6001

bash复制

python -m vllm.entrypoints.openai.api_server \\--model /root/model/DeepSeek-R1-Distill-Qwen-7B \\--served-model-name DeepSeek-R1-Distill-Qwen-7B \\--port 6001 \\--api-key token-abc123
  • --model:指定模型路径。

  • --served-model-name:指定模型的名称,用于在 API 中引用。

  • --port:指定服务运行的端口。

  • --api-key:设置 API 密钥,用于验证请求。

4. 使用 OpenWebUI

OpenWebUI 是一个基于 Web 的界面,用于与模型进行交互。你可以通过以下步骤将其与 vLLM 服务连接:

安装 OpenWebUI

如果你还没有安装 OpenWebUI,可以通过以下命令安装:

bash复制

pip install open-webui
启动 OpenWebUI

运行以下命令启动 OpenWebUI:

bash复制

python -m open_webui

默认情况下,OpenWebUI 会启动在 http://localhost:7860

配置 OpenWebUI

在 OpenWebUI 的界面中,找到 API 配置 部分,输入以下信息:

  • API URLhttp://localhost:6001/v1

  • API Keytoken-abc123

保存配置后,你就可以通过 OpenWebUI 与 vLLM 服务进行交互了。

5. 验证模型是否成功加载

通过以下命令验证模型是否成功加载:

bash复制

curl http://localhost:6001/v1/models -H \"Authorization: Bearer token-abc123\"

如果返回类似以下内容,说明模型已成功加载:

JSON复制

{\"object\":\"list\",\"data\":[{\"id\":\"/root/model/DeepSeek-R1-Distill-Qwen-7B\",\"object\":\"model\",\"created\":1744010129,\"owned_by\":\"vllm\",\"root\":\"/root/model/DeepSeek-R1-Distill-Qwen-7B\",\"parent\":null,\"max_model_len\":131072,\"permission\":[{\"id\":\"modelperm-40bf7adc43ff458098e594f24905be7e\",\"object\":\"model_permission\",\"created\":1744010129,\"allow_create_engine\":false,\"allow_sampling\":true,\"allow_logprobs\":true,\"allow_search_indices\":false,\"allow_view\":true,\"allow_fine_tuning\":false,\"organization\":\"*\",\"group\":null,\"is_blocking\":false}]}]}

6. 使用代码与模型交互

以下是一个 Python 示例代码,展示如何通过代码与 vLLM 服务进行交互:

Python复制

from openai import OpenAI# 初始化 OpenAI 客户端client = OpenAI( base_url=\"http://localhost:6001/v1\", api_key=\"token-abc123\",)# 创建聊天完成请求completion = client.chat.completions.create( model=\"/root/model/DeepSeek-R1-Distill-Qwen-7B\", messages=[ {\"role\": \"user\", \"content\": \"Hello!\"} ])# 打印返回的消息print(completion.choices[0].message.content)

7. 测试和验证

运行上述代码后,如果一切正常,你应该会看到模型的回复,例如:

Hello! How can I assist you today?

总结

通过上述步骤,你已经成功:

  1. 使用 vLLM 部署并启动了模型。

  2. 通过 OpenWebUI 配置了与 vLLM 服务的连接。

  3. 验证了模型是否成功加载。

  4. 使用 Python 代码与模型进行了交互。