@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / a8b0361c92
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

[CI] Split pooling from entrypoints Test (#24632)

Signed-off-by: wang.yuqi <noooop@126.com>

wang.yuqi committed Sep 11, 2025 at 16:53 UTC a8b0361c9229c2584eea0a035e650e55e2d52f4e
21 files changed +32 -30
.buildkite/test-pipeline.yaml
+14 -1
@@ -113,7 +113,7 @@ steps:
113 - tests/entrypoints/
114 commands:
115 - pytest -v -s entrypoints/openai/tool_parsers
116 - - pytest -v -s entrypoints/ --ignore=entrypoints/llm --ignore=entrypoints/openai --ignore=entrypoints/offline_mode --ignore=entrypoints/test_chat_utils.py
116 + - pytest -v -s entrypoints/ --ignore=entrypoints/llm --ignore=entrypoints/openai --ignore=entrypoints/offline_mode --ignore=entrypoints/test_chat_utils.py --ignore=entrypoints/pooling
117
118 - label: Entrypoints Integration Test (LLM) # 30min
119 timeout_in_minutes: 40
@@ -148,6 +148,19 @@ steps:
148 - pytest -v -s entrypoints/openai --ignore=entrypoints/openai/test_chat_with_tool_reasoning.py --ignore=entrypoints/openai/test_oot_registration.py --ignore=entrypoints/openai/test_tensorizer_entrypoint.py --ignore=entrypoints/openai/correctness/ --ignore=entrypoints/openai/test_collective_rpc.py --ignore=entrypoints/openai/tool_parsers/
149 - pytest -v -s entrypoints/test_chat_utils.py
150
151 +- label: Entrypoints Integration Test (Pooling)
152 + timeout_in_minutes: 50
153 + mirror_hardwares: [amdexperimental]
154 + working_dir: "/vllm-workspace/tests"
155 + fast_check: true
156 + torch_nightly: true
157 + source_file_dependencies:
158 + - vllm/
159 + - tests/entrypoints/pooling
160 + commands:
161 + - export VLLM_WORKER_MULTIPROC_METHOD=spawn
162 + - pytest -v -s entrypoints/pooling
163 +
164 - label: Distributed Tests (4 GPUs) # 35min
165 timeout_in_minutes: 50
166 mirror_hardwares: [amdexperimental]
tests/entrypoints/pooling/__init__.py
tests/entrypoints/pooling/correctness/__init__.py
tests/entrypoints/pooling/correctness/test_mteb_embed.py renamed
tests/entrypoints/pooling/correctness/test_mteb_score.py renamed
tests/entrypoints/pooling/llm/__init__.py
tests/entrypoints/pooling/llm/test_classify.py renamed
+1 -2
@@ -6,11 +6,10 @@ import weakref
6 import pytest
7 import torch
8
9 +from tests.models.utils import softmax
10 from vllm import LLM, PoolingParams
11 from vllm.distributed import cleanup_dist_env_and_memory
12
12 -from ...models.utils import softmax
13 -
13 MODEL_NAME = "jason9693/Qwen2.5-1.5B-apeach"
14
15 prompts = ["The chef prepared a delicious meal."]
tests/entrypoints/pooling/llm/test_embedding.py renamed
tests/entrypoints/pooling/llm/test_encode.py renamed
tests/entrypoints/pooling/llm/test_reward.py renamed
+1 -2
@@ -6,11 +6,10 @@ import weakref
6 import pytest
7 import torch
8
9 +from tests.models.utils import softmax
10 from vllm import LLM, PoolingParams
11 from vllm.distributed import cleanup_dist_env_and_memory
12
12 -from ...models.utils import softmax
13 -
13 MODEL_NAME = "internlm/internlm2-1_8b-reward"
14
15 prompts = ["The chef prepared a delicious meal."]
tests/entrypoints/pooling/llm/test_score.py renamed
+1 -2
@@ -6,11 +6,10 @@ import weakref
6 import pytest
7 import torch
8
9 +from tests.models.utils import softmax
10 from vllm import LLM, PoolingParams
11 from vllm.distributed import cleanup_dist_env_and_memory
12
12 -from ...models.utils import softmax
13 -
13 MODEL_NAME = "tomaarsen/Qwen3-Reranker-0.6B-seq-cls"
14
15
tests/entrypoints/pooling/openai/__init__.py
tests/entrypoints/pooling/openai/test_classification.py renamed
+1 -2
@@ -6,10 +6,9 @@ import requests
6 import torch
7 import torch.nn.functional as F
8
9 +from tests.utils import RemoteOpenAIServer
10 from vllm.entrypoints.openai.protocol import ClassificationResponse
11
11 -from ...utils import RemoteOpenAIServer
12 -
12 MODEL_NAME = "jason9693/Qwen2.5-1.5B-apeach"
13 DTYPE = "float32" # Use float32 to avoid NaN issue
14
tests/entrypoints/pooling/openai/test_embedding.py renamed
+4 -5
@@ -11,14 +11,13 @@ import requests
11 import torch
12 import torch.nn.functional as F
13
14 +from tests.models.language.pooling.embed_utils import (
15 + run_embedding_correctness_test)
16 +from tests.models.utils import check_embeddings_close
17 +from tests.utils import RemoteOpenAIServer
18 from vllm.entrypoints.openai.protocol import EmbeddingResponse
19 from vllm.transformers_utils.tokenizer import get_tokenizer
20
17 -from ...models.language.pooling.embed_utils import (
18 - run_embedding_correctness_test)
19 -from ...models.utils import check_embeddings_close
20 -from ...utils import RemoteOpenAIServer
21 -
21 MODEL_NAME = "intfloat/multilingual-e5-small"
22 DUMMY_CHAT_TEMPLATE = """{% for message in messages %}{{message['role'] + ': ' + message['content'] + '\\n'}}{% endfor %}""" # noqa: E501
23 DTYPE = "bfloat16"
tests/entrypoints/pooling/openai/test_embedding_dimensions.py renamed
+5 -6
@@ -9,13 +9,12 @@ from typing import Optional
9 import openai
10 import pytest
11
12 -from vllm.entrypoints.openai.protocol import EmbeddingResponse
13 -
14 -from ...conftest import HfRunner
15 -from ...models.language.pooling.embed_utils import (
12 +from tests.conftest import HfRunner
13 +from tests.models.language.pooling.embed_utils import (
14 run_embedding_correctness_test)
17 -from ...models.utils import EmbedModelInfo
18 -from ...utils import RemoteOpenAIServer
15 +from tests.models.utils import EmbedModelInfo
16 +from tests.utils import RemoteOpenAIServer
17 +from vllm.entrypoints.openai.protocol import EmbeddingResponse
18
19 MODELS = [
20 EmbedModelInfo("intfloat/multilingual-e5-small", is_matryoshka=False),
tests/entrypoints/pooling/openai/test_embedding_long_text.py renamed
+1 -2
@@ -14,10 +14,9 @@ import openai
14 import pytest
15 import pytest_asyncio
16
17 +from tests.utils import RemoteOpenAIServer
18 from vllm.entrypoints.openai.protocol import EmbeddingResponse
19
19 -from ...utils import RemoteOpenAIServer
20 -
20
21 def _generate_random_text(word_count: int) -> str:
22 """Generate random text with approximately the specified word count."""
tests/entrypoints/pooling/openai/test_pooling.py renamed
+1 -2
@@ -8,11 +8,10 @@ import pytest
8 import requests
9
10 from tests.models.utils import check_embeddings_close
11 +from tests.utils import RemoteOpenAIServer
12 from vllm.entrypoints.openai.protocol import PoolingResponse
13 from vllm.transformers_utils.tokenizer import get_tokenizer
14
14 -from ...utils import RemoteOpenAIServer
15 -
15 MODEL_NAME = "internlm/internlm2-1_8b-reward"
16 DUMMY_CHAT_TEMPLATE = """{% for message in messages %}{{message['role'] + ': ' + message['content'] + '\\n'}}{% endfor %}""" # noqa: E501
17
tests/entrypoints/pooling/openai/test_rerank.py renamed
+1 -2
@@ -6,10 +6,9 @@ import requests
6 import torch
7 import torch.nn.functional as F
8
9 +from tests.utils import RemoteOpenAIServer
10 from vllm.entrypoints.openai.protocol import RerankResponse
11
11 -from ...utils import RemoteOpenAIServer
12 -
12 MODEL_NAME = "BAAI/bge-reranker-base"
13 DTYPE = "bfloat16"
14
tests/entrypoints/pooling/openai/test_score.py renamed
+1 -2
@@ -8,10 +8,9 @@ import torch
8 import torch.nn.functional as F
9 from torch import tensor
10
11 +from tests.utils import RemoteOpenAIServer
12 from vllm.entrypoints.openai.protocol import ScoreResponse
13
13 -from ...utils import RemoteOpenAIServer
14 -
14 MODELS = [
15 {
16 "name": "BAAI/bge-reranker-v2-m3",
tests/entrypoints/pooling/openai/test_truncation.py renamed
tests/entrypoints/pooling/openai/test_vision_embedding.py renamed
+1 -2
@@ -7,11 +7,10 @@ import pytest
7 import requests
8 from transformers import AutoProcessor
9
10 +from tests.utils import VLLM_PATH, RemoteOpenAIServer
11 from vllm.entrypoints.openai.protocol import EmbeddingResponse
12 from vllm.multimodal.utils import encode_image_base64, fetch_image
13
13 -from ...utils import VLLM_PATH, RemoteOpenAIServer
14 -
14 MODEL_NAME = "TIGER-Lab/VLM2Vec-Full"
15 MAXIMUM_IMAGES = 2
16