[CI] Bump `huggingface-hub` from `v1.10.2` to `v1.22.0` (#47551)

Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>

Harry Mellor committed Jul 4, 2026 at 15:45 UTC f1445f6dbd341b09b93c16f17c85fe8dcfa70e3d
25 files changed +49 -45
.buildkite/test-amd.yaml
+2 -2
@@ -2248,7 +2248,7 @@ steps:
2248 - pytest -v -s v1/worker
2249 - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
2250 - pytest -v -s -m 'not cpu_test' v1/metrics
2251 - - pip install -U git+https://github.com/robertgshaw2-redhat/lm-evaluation-harness.git@streaming-api
2251 + - pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
2252 # - export HSA_NO_SCRATCH_RECLAIM=1
2253 - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
2254
@@ -3318,7 +3318,7 @@ steps:
3318 - pytest -v -s v1/worker
3319 - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
3320 - pytest -v -s -m 'not cpu_test' v1/metrics
3321 - - pip install -U git+https://github.com/robertgshaw2-redhat/lm-evaluation-harness.git@streaming-api
3321 + - pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
3322 - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
3323
3324 - label: V1 Sample + Logits # TBD
.buildkite/test_areas/misc.yaml
+1 -1
@@ -103,7 +103,7 @@ steps:
103 - pytest -v -s -m 'not cpu_test' v1/kv_connector/unit
104 - pytest -v -s -m 'not cpu_test' v1/metrics
105 # Integration test for streaming correctness (requires special branch).
106 - - pip install -U git+https://github.com/robertgshaw2-redhat/lm-evaluation-harness.git@streaming-api
106 + - pip install -U git+https://github.com/vllm-project/lm-evaluation-harness.git@streaming-api
107 - pytest -v -s entrypoints/openai/correctness/test_lmeval.py::test_lm_eval_accuracy_v1_engine
108 mirror:
109 amd:
requirements/test/cpu.txt
+4 -4
@@ -112,9 +112,10 @@ charset-normalizer==3.4.0
112 # via requests
113 chz==0.3.0
114 # via gpt-oss
115 -click==8.1.7
115 +click==8.4.2
116 # via
117 # black
118 + # huggingface-hub
119 # jiwer
120 # nltk
121 # ray
@@ -309,7 +310,7 @@ h2==4.3.0
310 # via httpx
311 harfile==0.5.0
312 # via schemathesis
312 -hf-xet==1.4.3
313 +hf-xet==1.5.1
314 # via huggingface-hub
315 hiredis==3.0.0
316 # via tensorizer
@@ -335,7 +336,7 @@ httpx==0.27.2
336 # schemathesis
337 httpx-sse==0.4.3
338 # via mcp
338 -huggingface-hub==1.10.2
339 +huggingface-hub==1.22.0
340 # via
341 # accelerate
342 # datasets
@@ -1182,7 +1183,6 @@ typer==0.26.8
1183 # fastapi-cli
1184 # fastapi-cloud-cli
1185 # fastsafetensors
1185 - # huggingface-hub
1186 # perceptron
1187 # transformers
1188 typing-extensions==4.15.0
requirements/test/cuda.txt
+4 -4
@@ -117,9 +117,10 @@ charset-normalizer==3.4.0
117 # via requests
118 chz==0.3.0
119 # via gpt-oss
120 -click==8.1.7
120 +click==8.4.2
121 # via
122 # black
123 + # huggingface-hub
124 # jiwer
125 # nltk
126 # ray
@@ -330,7 +331,7 @@ h2==4.3.0
331 # via httpx
332 harfile==0.5.0
333 # via schemathesis
333 -hf-xet==1.4.3
334 +hf-xet==1.5.1
335 # via huggingface-hub
336 hiredis==3.0.0
337 # via tensorizer
@@ -356,7 +357,7 @@ httpx==0.27.2
357 # schemathesis
358 httpx-sse==0.4.3
359 # via mcp
359 -huggingface-hub==1.10.2
360 +huggingface-hub==1.22.0
361 # via
362 # accelerate
363 # datasets
@@ -1285,7 +1286,6 @@ typer==0.26.8
1286 # fastapi-cli
1287 # fastapi-cloud-cli
1288 # fastsafetensors
1288 - # huggingface-hub
1289 # perceptron
1290 # transformers
1291 typing-extensions==4.15.0
requirements/test/rocm.txt
+4 -4
@@ -116,9 +116,10 @@ choreographer==1.2.1
116 # via kaleido
117 chz==0.4.0
118 # via gpt-oss
119 -click==8.3.1
119 +click==8.4.2
120 # via
121 # black
122 + # huggingface-hub
123 # jiwer
124 # nltk
125 # ray
@@ -323,7 +324,7 @@ h2==4.3.0
324 # via httpx
325 harfile==0.5.0
326 # via schemathesis
326 -hf-xet==1.4.3
327 +hf-xet==1.5.1
328 # via huggingface-hub
329 hiredis==3.3.1
330 # via tensorizer
@@ -349,7 +350,7 @@ httpx==0.27.2
350 # schemathesis
351 httpx-sse==0.4.3
352 # via mcp
352 -huggingface-hub==1.10.2
353 +huggingface-hub==1.22.0
354 # via
355 # accelerate
356 # datasets
@@ -1244,7 +1245,6 @@ typer==0.24.1
1245 # fastapi-cli
1246 # fastapi-cloud-cli
1247 # fastsafetensors
1247 - # huggingface-hub
1248 # perceptron
1249 # transformers
1250 typing-extensions==4.15.0
requirements/test/xpu.txt
+4 -4
@@ -83,8 +83,9 @@ charset-normalizer==3.4.6
83 # via requests
84 chz==0.4.0
85 # via gpt-oss
86 -click==8.3.1
86 +click==8.4.2
87 # via
88 + # huggingface-hub
89 # jiwer
90 # nltk
91 # rich-toolkit
@@ -206,7 +207,7 @@ h11==0.16.0
207 # uvicorn
208 harfile==0.4.0
209 # via schemathesis
209 -hf-xet==1.4.3
210 +hf-xet==1.5.1
211 # via huggingface-hub
212 html2text==2025.4.15
213 # via gpt-oss
@@ -227,7 +228,7 @@ httpx==0.28.1
228 # schemathesis
229 httpx-sse==0.4.3
230 # via mcp
230 -huggingface-hub==1.10.2
231 +huggingface-hub==1.22.0
232 # via
233 # accelerate
234 # datasets
@@ -959,7 +960,6 @@ typer==0.24.1
960 # via
961 # fastapi-cli
962 # fastapi-cloud-cli
962 - # huggingface-hub
963 # transformers
964 typing-extensions==4.15.0
965 # via
tests/benchmarks/test_bfcl_dataset.py
+1 -1
@@ -21,7 +21,7 @@ def _patch_hf_api(side_effect):
21
22 @pytest.fixture(scope="session")
23 def hf_tokenizer() -> PreTrainedTokenizerBase:
24 - return AutoTokenizer.from_pretrained("gpt2")
24 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
25
26
27 _FAKE_ROWS = {
tests/benchmarks/test_custom_dataset_seed.py
+1 -1
@@ -12,7 +12,7 @@ from vllm.benchmarks.datasets import get_samples
12
13 @pytest.fixture(scope="session")
14 def hf_tokenizer() -> PreTrainedTokenizerBase:
15 - return AutoTokenizer.from_pretrained("gpt2")
15 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
16
17
18 def _write_jsonl(path: Path, n_rows: int) -> None:
tests/benchmarks/test_random_dataset.py
+1 -1
@@ -17,7 +17,7 @@ from vllm.benchmarks.datasets import (
17 @pytest.fixture(scope="session")
18 def hf_tokenizer() -> PreTrainedTokenizerBase:
19 # Use a small, commonly available tokenizer
20 - return AutoTokenizer.from_pretrained("gpt2")
20 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
21
22
23 class Params(NamedTuple):
tests/benchmarks/test_random_multimodal_dataset_video.py
+1 -1
@@ -16,7 +16,7 @@ from vllm.benchmarks.datasets import RandomMultiModalDataset, SampleRequest
16 @pytest.fixture(scope="session")
17 def hf_tokenizer() -> PreTrainedTokenizerBase:
18 """Use a small, commonly available tokenizer."""
19 - return AutoTokenizer.from_pretrained("gpt2")
19 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
20
21
22 @pytest.fixture
tests/benchmarks/test_txt_slices_dataset.py
+2 -2
@@ -13,7 +13,7 @@ from vllm.benchmarks.datasets.create_txt_slices_dataset import create_txt_slices
13 @pytest.fixture(scope="session")
14 def hf_tokenizer() -> PreTrainedTokenizerBase:
15 # Use a small, commonly available tokenizer
16 - return AutoTokenizer.from_pretrained("gpt2")
16 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
17
18
19 text_content = """
@@ -39,7 +39,7 @@ def test_create_txt_slices_jsonl(
39 create_txt_slices_jsonl(
40 input_path=str(txt_path),
41 output_path=str(jsonl_path),
42 - tokenizer_name="gpt2",
42 + tokenizer_name="openai-community/gpt2",
43 num_prompts=10,
44 input_len=10,
45 output_len=10,
tests/compile/test_aot_compile.py
+2 -2
@@ -502,7 +502,7 @@ def test_gpt2_cache_hit(monkeypatch: pytest.MonkeyPatch):
502 m.setenv("VLLM_USE_AOT_COMPILE", "1")
503 # First compilation - initialize model and generate
504 llm_model = LLM(
505 - model="gpt2",
505 + model="openai-community/gpt2",
506 compilation_config=CompilationConfig(
507 mode=CompilationMode.VLLM_COMPILE,
508 ),
@@ -519,7 +519,7 @@ def test_gpt2_cache_hit(monkeypatch: pytest.MonkeyPatch):
519 # Second compilation - should hit cache
520 m.setenv("VLLM_FORCE_AOT_LOAD", "1")
521 llm_model = LLM(
522 - model="gpt2",
522 + model="openai-community/gpt2",
523 compilation_config=CompilationConfig(
524 mode=CompilationMode.VLLM_COMPILE,
525 ),
tests/compile/test_dynamic_shapes_compilation.py
+1 -1
@@ -24,7 +24,7 @@ from vllm.utils.torch_utils import is_torch_equal_or_newer
24 def get_test_models():
25 """Get list of models to test based on PyTorch version"""
26 models = [
27 - "gpt2",
27 + "openai-community/gpt2",
28 "Qwen/Qwen2-7B-Instruct",
29 "meta-llama/Llama-3.1-8B",
30 ]
tests/distributed/test_pipeline_parallel.py
+1 -1
@@ -114,7 +114,7 @@ TEXT_GENERATION_MODELS = {
114 "tiiuae/falcon-7b": PPTestSettings.fast(),
115 "google/gemma-1.1-2b-it": PPTestSettings.fast(),
116 "google/gemma-2-9b": PPTestSettings.fast(),
117 - "gpt2": PPTestSettings.fast(),
117 + "openai-community/gpt2": PPTestSettings.fast(),
118 "EleutherAI/gpt-j-6b": PPTestSettings.fast(),
119 "EleutherAI/pythia-1.4b": PPTestSettings.fast(),
120 "ibm/PowerLM-3b": PPTestSettings.fast(),
tests/entrypoints/openai/completion/test_prompt_validation.py
+2 -2
@@ -18,7 +18,7 @@ from vllm.renderers.embed_utils import safe_load_prompt_embeds
18
19 @pytest.mark.asyncio
20 async def test_empty_prompt():
21 - model_name = "gpt2"
21 + model_name = "openai-community/gpt2"
22 server_args = ["--enforce-eager"]
23 with RemoteOpenAIServer(model_name, server_args) as remote_server:
24 client = remote_server.get_async_client()
@@ -38,7 +38,7 @@ async def test_empty_prompt():
38
39 @pytest.mark.asyncio
40 async def test_out_of_vocab_token_ids():
41 - model_name = "gpt2"
41 + model_name = "openai-community/gpt2"
42 server_args = ["--enforce-eager"]
43 with RemoteOpenAIServer(model_name, server_args) as remote_server:
44 client = remote_server.get_async_client()
tests/lora/test_chatglm3_tp.py
+1
@@ -115,6 +115,7 @@ def test_chatglm3_lora_tp4_fully_sharded_loras(chatglm3_lora_files):
115 enable_lora=True,
116 max_loras=2,
117 max_lora_rank=64,
118 + max_num_seqs=16,
119 tensor_parallel_size=4,
120 trust_remote_code=True,
121 fully_sharded_loras=True,
tests/models/registry.py
+1 -1
@@ -296,7 +296,7 @@ _TEXT_GENERATION_EXAMPLE_MODELS = {
296 "GlmMoeDsaForCausalLM": _HfExamplesInfo(
297 "zai-org/GLM-5", min_transformers_version="5.0.1", is_available_online=False
298 ),
299 - "GPT2LMHeadModel": _HfExamplesInfo("openai-community/gpt2", {"alias": "gpt2"}),
299 + "GPT2LMHeadModel": _HfExamplesInfo("openai-community/gpt2"),
300 "GPTBigCodeForCausalLM": _HfExamplesInfo(
301 "bigcode/starcoder",
302 extras={
tests/renderers/test_chat_utils_prompt_embeds.py
+1 -1
@@ -40,7 +40,7 @@ from vllm.renderers.hf import (
40 # Qwen2TokenizerFast (SentencePiece BPE variant)
41 # BertTokenizerFast (WordPiece)
42 TOKENIZER_IDS: Final[list[str]] = [
43 - "gpt2",
43 + "openai-community/gpt2",
44 "Qwen/Qwen2.5-1.5B-Instruct",
45 "bert-base-uncased",
46 ]
tests/tokenizers_/test_basic.py
+4 -2
@@ -23,7 +23,7 @@ def _assert_tokenizer_like(tokenizer: object):
23
24
25 def test_tokenizer_like_protocol():
26 - tokenizer = get_tokenizer("gpt2", use_fast=True)
26 + tokenizer = get_tokenizer("openai-community/gpt2", use_fast=True)
27 assert isinstance(tokenizer, PreTrainedTokenizerFast)
28 _assert_tokenizer_like(tokenizer)
29
@@ -43,7 +43,9 @@ def test_tokenizer_like_protocol():
43 _assert_tokenizer_like(tokenizer)
44
45
46 -@pytest.mark.parametrize("tokenizer_name", ["facebook/opt-125m", "gpt2"])
46 +@pytest.mark.parametrize(
47 + "tokenizer_name", ["facebook/opt-125m", "openai-community/gpt2"]
48 +)
49 def test_tokenizer_revision(tokenizer_name: str):
50 # Assume that "main" branch always exists
51 tokenizer = get_tokenizer(tokenizer_name, revision="main")
tests/tokenizers_/test_detokenize.py
+1 -1
@@ -33,7 +33,7 @@ TRUTH = [
33
34 TOKENIZERS = [
35 "facebook/opt-125m",
36 - "gpt2",
36 + "openai-community/gpt2",
37 "bigcode/tiny_starcoder_py",
38 "EleutherAI/gpt-j-6b",
39 "EleutherAI/pythia-70m",
tests/tokenizers_/test_hf.py
+2 -2
@@ -14,7 +14,7 @@ from vllm.tokenizers.hf import (
14 )
15
16
17 -@pytest.mark.parametrize("model_id", ["gpt2", "zai-org/chatglm3-6b"])
17 +@pytest.mark.parametrize("model_id", ["openai-community/gpt2", "zai-org/chatglm3-6b"])
18 def test_cached_tokenizer(model_id: str):
19 reference_tokenizer = AutoTokenizer.from_pretrained(
20 model_id, trust_remote_code=True
@@ -47,7 +47,7 @@ def _check_consistency(target: TokenizerLike, expected: TokenizerLike):
47 assert target.encode("prompt") == expected.encode("prompt")
48
49
50 -@pytest.mark.parametrize("model_id", ["gpt2"])
50 +@pytest.mark.parametrize("model_id", ["openai-community/gpt2"])
51 def test_thread_pool_tokenizer_pickle(model_id: str):
52 """Regression test for issue #45433: the thread-pool tokenizer wrapper
53 reconstructs through maybe_make_thread_pool on unpickling, which used to
tests/tool_parsers/conftest.py
+1 -1
@@ -9,4 +9,4 @@ from vllm.tokenizers import TokenizerLike
9
10 @pytest.fixture(scope="module")
11 def default_tokenizer() -> TokenizerLike:
12 - return AutoTokenizer.from_pretrained("gpt2")
12 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
tests/tool_parsers/test_gigachat3_tool_parser.py
+1 -1
@@ -19,7 +19,7 @@ from vllm.tool_parsers import ToolParser, ToolParserManager
19 def default_tokenizer() -> TokenizerLike:
20 """Override module-scoped default_tokenizer because gigachat tests
21 mutate the tokenizer via ``add_tokens``."""
22 - return AutoTokenizer.from_pretrained("gpt2")
22 + return AutoTokenizer.from_pretrained("openai-community/gpt2")
23
24
25 MSG_SEP_TOKEN = "<|message_sep|>\n\n"
tests/v1/structured_output/test_backend_guidance.py
+1 -1
@@ -17,7 +17,7 @@ from vllm.v1.structured_output import StructuredOutputManager
17 from vllm.v1.structured_output.backend_guidance import GuidanceBackend
18 from vllm.v1.structured_output.backend_types import StructuredOutputOptions
19
20 -TOKENIZER = "gpt2"
20 +TOKENIZER = "openai-community/gpt2"
21
22
23 @pytest.fixture(scope="module")
vllm/transformers_utils/repo_utils.py
+5 -4
@@ -229,10 +229,11 @@ def get_model_path(model: str | Path, revision: str | None = None):
229 if os.path.exists(model):
230 return model
231 assert huggingface_hub.constants.HF_HUB_OFFLINE
232 - common_kwargs = {
233 - "local_files_only": huggingface_hub.constants.HF_HUB_OFFLINE,
234 - "revision": revision,
235 - }
232 + common_kwargs = dict(
233 + local_files_only=huggingface_hub.constants.HF_HUB_OFFLINE,
234 + ignore_patterns="*",
235 + revision=revision,
236 + )
237
238 if envs.VLLM_USE_MODELSCOPE:
239 from modelscope.hub.snapshot_download import snapshot_download