From 35bc8bd5fb302dee4c2a7c7bc7e2e1f303478b09 Mon Sep 17 00:00:00 2001 From: Rui Qiao <161574667+ruisearch42@users.noreply.github.com> Date: Tue, 22 Jul 2025 16:18:42 -0700 Subject: [PATCH] [Misc] Copy HF_TOKEN env var to Ray workers (#21406) Signed-off-by: Rui Qiao --- vllm/executor/ray_distributed_executor.py | 6 +++++- vllm/ray/ray_env.py | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/vllm/executor/ray_distributed_executor.py b/vllm/executor/ray_distributed_executor.py index 417750a08c694..e9ad62aeb99a8 100644 --- a/vllm/executor/ray_distributed_executor.py +++ b/vllm/executor/ray_distributed_executor.py @@ -58,6 +58,9 @@ class RayDistributedExecutor(DistributedExecutorBase): "VLLM_HOST_IP", "VLLM_HOST_PORT", "LOCAL_RANK", "CUDA_VISIBLE_DEVICES" } + # These non-vLLM env vars are copied from the driver to workers + ADDITIONAL_ENV_VARS = {"HF_TOKEN", "HUGGING_FACE_HUB_TOKEN"} + uses_ray: bool = True def _init_executor(self) -> None: @@ -326,7 +329,8 @@ class RayDistributedExecutor(DistributedExecutorBase): # Environment variables to copy from driver to workers env_vars_to_copy = get_env_vars_to_copy( exclude_vars=self.WORKER_SPECIFIC_ENV_VARS, - additional_vars=set(current_platform.additional_env_vars), + additional_vars=set(current_platform.additional_env_vars).union( + self.ADDITIONAL_ENV_VARS), destination="workers") # Copy existing env vars to each worker's args diff --git a/vllm/ray/ray_env.py b/vllm/ray/ray_env.py index 716d0bfafae54..f6a994bb3c226 100644 --- a/vllm/ray/ray_env.py +++ b/vllm/ray/ray_env.py @@ -43,6 +43,8 @@ def get_env_vars_to_copy(exclude_vars: Optional[set[str]] = None, exclude_vars: A set of vllm defined environment variables to exclude from copying. additional_vars: A set of additional environment variables to copy. + If a variable is in both exclude_vars and additional_vars, it will + be excluded. destination: The destination of the environment variables. Returns: A set of environment variables to copy. @@ -52,10 +54,9 @@ def get_env_vars_to_copy(exclude_vars: Optional[set[str]] = None, env_vars_to_copy = { v - for v in envs.environment_variables + for v in set(envs.environment_variables).union(additional_vars) if v not in exclude_vars and v not in RAY_NON_CARRY_OVER_ENV_VARS } - env_vars_to_copy.update(additional_vars) to_destination = " to " + destination if destination is not None else ""