能力标签
🛠
AI工具

Worker-VLLM

基于 Python · 开源免费,本地部署,数据完全自主可控
英文名:worker-vllm
⭐ 448 Stars 🍴 365 Forks 💻 Python 📄 MIT 🏷 AI 7.5分
7.5AI 综合评分
language-modelllmrunpodvllmpython
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,Worker-VLLM 获评「推荐使用」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。

📚 深度解析

Worker-VLLM 是一款基于 Python 的开源工具,在 GitHub 上收获 0k+ Star,是language-model、llm、runpod、vllm领域中的优质开源项目。开源工具的最大优势在于代码完全透明,你可以审计每一行代码的安全性,也可以根据自身需求进行二次开发和定制。

**为什么要使用开源工具而非商业 SaaS?**
对于个人开发者和有隐私需求的用户,本地部署的开源工具意味着数据不离本机,不受第三方服务商的数据政策约束。同时,开源工具通常没有使用次数限制和月度费用,一次安装即可长期使用,对于高频使用场景的总拥有成本(TCO)远低于订阅制商业工具。

**安装与环境准备**
Worker-VLLM 依赖 Python 运行环境。建议通过 pyenv(Python)或 nvm(Node.js)管理 Python 版本,避免全局环境污染。对于新手用户,推荐先创建虚拟环境(python -m venv venv && source venv/bin/activate),再安装依赖,这样即使出现问题也可以随时删除虚拟环境重新开始,不影响系统稳定性。

**社区与维护**
GitHub Issue 和 Discussion 是获取帮助的最快渠道。在提问前建议先检查 Closed Issues(已关闭的问题),大多数常见问题都已有解答。遇到 Bug 时,提供 pip list 的输出、完整错误堆栈和最小可复现示例,能显著提高开发者响应速度。AI Skill Hub 将持续追踪 Worker-VLLM 的版本更新,及时通知重要功能变化。

📋 工具概览

Worker-VLLM 是一款基于 Python 开发的开源工具,专注于 language-model、llm、runpod 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

GitHub Stars
⭐ 448
开发语言
Python
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
MIT
AI 综合评分
7.5 分
工具类型
AI工具
Forks
365

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

Worker-VLLM 是一款基于 Python 开发的开源工具,专注于 language-model、llm、runpod 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。

📌 核心特色
  • 开源免费,支持本地部署,数据完全自主可控
  • 活跃的 GitHub 开源社区,持续迭代更新
  • 提供详细文档和使用示例,新手友好
  • 支持自定义配置,灵活适配不同使用环境
  • 可作为基础组件集成进现有技术栈或进行二次开发
🎯 主要使用场景
  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:pip 安装(推荐)
pip install worker-vllm

# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install worker-vllm

# 方式三:从源码安装(获取最新功能)
git clone https://github.com/runpod-workers/worker-vllm
cd worker-vllm
pip install -e .

# 验证安装
python -c "import worker_vllm; print('安装成功')"
📋 安装步骤说明
  1. 访问 GitHub 仓库页面
  2. 按照 README 文档完成依赖安装
  3. 根据系统环境完成初始化配置
  4. 参考官方示例或文档开始使用
  5. 遇到问题可在 GitHub Issues 中查找解答
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
worker-vllm --help

# 基本用法
worker-vllm input_file -o output_file

# Python 代码中调用
import worker_vllm

# 示例
result = worker_vllm.process("input")
print(result)
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# worker-vllm 配置文件示例(config.yml)
app:
  name: "worker-vllm"
  debug: false
  log_level: "INFO"

# 运行时指定配置文件
worker-vllm --config config.yml

# 或通过环境变量配置
export WORKER_VLLM_API_KEY="your-key"
export WORKER_VLLM_OUTPUT_DIR="./output"
📑 README 深度解析 真实文档 完整度 62/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

Prerequisites

  • Docker

Option 1: Deploy Any Model Using Pre-Built Docker Image [Recommended]

🚀 Deploy Guide: Follow our step-by-step deployment guide to deploy using the Runpod Console.

📦 Docker Image: runpod/worker-v1-vllm:<version>

  • Available Versions: See GitHub Releases
  • CUDA Compatibility: Requires CUDA >= 13.0

Option 2: Build Docker Image with Model Inside

To build an image with the model baked in, you must specify the following docker arguments when building the image.

Example: Building an image with OpenChat-3.5

docker build -t username/image:tag --build-arg MODEL_NAME="openchat/openchat_3.5" --build-arg BASE_PATH="/models" .

Example: Building with vLLM Nightly

To use the latest unreleased vLLM build (installs from the nightly wheel index and transformers from source):

docker build -t username/image:tag --build-arg VLLM_NIGHTLY=true .

You can combine it with other arguments:

docker build -t username/image:tag --build-arg VLLM_NIGHTLY=true --build-arg MODEL_NAME="meta-llama/Llama-3.1-8B-Instruct" --build-arg BASE_PATH="/models" .

Modifying your OpenAI Codebase to use your deployed vLLM Worker

Python (similar to Node.js, etc.):

  1. When initializing the OpenAI Client in your code, change the api_key to your Runpod API Key and the base_url to your Runpod Serverless Endpoint URL in the following format: https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1, filling in your deployed endpoint ID. For example, if your Endpoint ID is abc1234, the URL would be https://api.runpod.ai/v2/abc1234/openai/v1.
  • Before:
   from openai import OpenAI

   client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
   
  • After:
   from openai import OpenAI

   client = OpenAI(
       api_key=os.environ.get("RUNPOD_API_KEY"),
       base_url="https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1",
   )
   

2. Change the model parameter to your deployed model's name whenever using Completions or Chat Completions. - Before:

   response = client.chat.completions.create(
       model="gpt-3.5-turbo",
       messages=[{"role": "user", "content": "Why is Runpod the best platform?"}],
       temperature=0,
       max_tokens=100,
   )
   
- After:
   response = client.chat.completions.create(
       model="<YOUR DEPLOYED MODEL REPO/NAME>",
       messages=[{"role": "user", "content": "Why is Runpod the best platform?"}],
       temperature=0,
       max_tokens=100,
   )
   

Using http requests:

1. Change the Authorization header to your Runpod API Key and the url to your Runpod Serverless Endpoint URL in the following format: https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1 - Before:

   curl https://api.openai.com/v1/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
   "model": "gpt-4",
   "messages": [
     {
       "role": "user",
       "content": "Why is Runpod the best platform?"
     }
   ],
   "temperature": 0,
   "max_tokens": 100
   }'
   
- After:
   curl https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer <YOUR OPENAI API KEY>" \
   -d '{
   "model": "<YOUR DEPLOYED MODEL REPO/NAME>",
   "messages": [
     {
       "role": "user",
       "content": "Why is Runpod the best platform?"
     }
   ],
   "temperature": 0,
   "max_tokens": 100
   }'
   

Usage: OpenAI Compatibility

The vLLM Worker is fully compatible with OpenAI's API, and you can use it with any OpenAI Codebase by changing only 3 lines in total. The supported routes are <ins>Chat Completions</ins>, <ins>Models</ins>, <ins>Responses</ins>, and <ins>Messages</ins> - with both streaming and non-streaming.

Examples: Using your Runpod endpoint with OpenAI

First, initialize the OpenAI Client with your Runpod API Key and Endpoint URL:

```python from openai import OpenAI import os

Usage: Standard (Non-OpenAI)

Setting up the Serverless Worker

Configuration

Configure worker-vllm using environment variables:

Environment VariableDescriptionDefaultOptions
MODEL_NAMEPath of the model weights"facebook/opt-125m"Local folder or Hugging Face repo ID
HF_TOKENHuggingFace access token for gated/private modelsYour HuggingFace access token
MAX_MODEL_LENModel's maximum context lengthInteger (e.g., 4096)
QUANTIZATIONQuantization method"awq", "gptq", "squeezellm", "bitsandbytes"
TENSOR_PARALLEL_SIZENumber of GPUs1Integer
GPU_MEMORY_UTILIZATIONFraction of GPU memory to use0.95Float between 0.0 and 1.0
MAX_NUM_SEQSMaximum number of sequences per iteration256Integer
CUSTOM_CHAT_TEMPLATECustom chat template overrideJinja2 template string
ENABLE_AUTO_TOOL_CHOICEEnable automatic tool selectionfalseboolean (true or false)
TOOL_CALL_PARSERParser for tool calls"mistral", "hermes", "llama3_json", "granite", "deepseek_v3", etc.
OPENAI_SERVED_MODEL_NAME_OVERRIDEOverride served model name in APIString
MAX_CONCURRENCYMaximum concurrent requests30Integer

Pass any vLLM engine arg not listed above by setting an environment variable with the UPPERCASED field name (same names vLLM uses). The worker auto-discovers all AsyncEngineArgs fields from env. For example:

Environment VariablevLLM Engine ArgExample Value
MAX_MODEL_LENmax_model_len4096
ENFORCE_EAGERenforce_eagertrue
ENABLE_CHUNKED_PREFILLenable_chunked_prefilltrue

Any env var whose name matches a valid AsyncEngineArgs field (uppercased) is applied automatically. Backward-compat aliases: MODEL_NAME, TOKENIZER_NAME, MAX_CONTEXT_LEN_TO_CAPTURE. This lets you configure any vLLM option without waiting for explicit worker support.

For the complete list of all available environment variables, examples, and detailed descriptions: Configuration

(Optional) Including Huggingface Token

If the model you would like to deploy is private or gated, you will need to include it during build time as a Docker secret, which will protect it from being exposed in the image and on DockerHub.

  1. Enable Docker BuildKit (required for secrets).
export DOCKER_BUILDKIT=1
  1. Export your Hugging Face token as an environment variable
export HF_TOKEN="your_token_here"
  1. Add the token as a secret when building
docker build -t username/image:tag --secret id=HF_TOKEN --build-arg MODEL_NAME="openchat/openchat_3.5" .

OpenAI-Compatible vLLM Serverless Endpoint Worker

Deploy OpenAI-Compatible Blazing-Fast LLM Endpoints powered by the vLLM Inference Engine on Runpod Serverless with just a few clicks.

</div>

vLLM worker banner

Current vLLM version: 0.20.2

Check out our Load Balancer implementation here: vLLM Load Balancer

Initialize the OpenAI Client with your Runpod API Key and Endpoint URL

client = OpenAI( api_key=os.environ.get("RUNPOD_API_KEY"), base_url="https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1", ) ```

OpenAI Responses API

Path: /openai/v1/responses (full URL: https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1/responses)

Supports the OpenAI Responses API request shape. Like other /openai/ routes, this is served directly—use the /openai/ prefix rather than the RunPod native job queue for these calls.

{
  "model": "meta-llama/Llama-3.1-8B-Instruct",
  "input": "Tell me a joke."
}

Using HTTP requests:

curl https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR RUNPOD API KEY>" \
  -d '{
    "model": "<YOUR DEPLOYED MODEL REPO/NAME>",
    "input": "Tell me a joke."
  }'

Anthropic Messages API

Path: /openai/v1/messages (full URL: https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1/messages)

Supports the Anthropic Messages API format. Served directly, bypassing the RunPod queue.

{
  "model": "meta-llama/Llama-3.1-8B-Instruct",
  "max_tokens": 256,
  "messages": [
    {"role": "user", "content": "Hello!"}
  ]
}

Using HTTP requests:

curl https://api.runpod.ai/v2/<YOUR ENDPOINT ID>/openai/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR RUNPOD API KEY>" \
  -d '{
    "model": "<YOUR DEPLOYED MODEL REPO/NAME>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'
🎯 aiskill88 AI 点评 A 级 2026-06-01

高质量的大型语言模型服务端点模板

⚡ 核心功能

👥 适合人群

AI 技术爱好者研究人员和学生开发者和工程师技术创业者

🎯 使用场景

  • 本地部署运行,保护数据隐私,满足合规要求
  • 自定义集成到现有系统,扩展技术栈能力
  • 作为开源基础组件进行商业化二次开发

⚖️ 优点与不足

✅ 优点
  • +MIT 协议,可免费商用
  • +完全开源免费,无授权费用
  • +本地部署,数据完全自主可控
  • +开发者社区支持,遇问题可查可问
⚠️ 不足
  • 安装和初始配置可能需要一定技术基础
  • 功能完整性通常不如成熟商业产品
  • 技术支持主要依赖开源社区,响应速度不稳定
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐

🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

参考README文档
💡 AI Skill Hub 点评

AI Skill Hub 点评:Worker-VLLM 的核心功能完整,质量良好。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

📚 深入学习 Worker-VLLM
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 worker-vllm
Topics language-modelllmrunpodvllmpython
GitHub https://github.com/runpod-workers/worker-vllm
License MIT
语言 Python
🔗 原始来源
🐙 GitHub 仓库  https://github.com/runpod-workers/worker-vllm

收录时间:2026-06-01 · 更新时间:2026-06-01 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。