[Pooling] Honor request_id from request bodies (#55665)

Signed-off-by: Taneem Ibrahim <taneem.ibrahim@gmail.com>

Taneem Ibrahim committed Sep 7, 2026 at 18:55 UTC fdfa0a1659a4a75de607219f9a7004d09928d572
2 files changed +7 -1
tests/entrypoints/pooling/token_embed/test_online.py
+3
@@ -54,6 +54,7 @@ def server():
54 @pytest.mark.parametrize("model_name", [MODEL_NAME])
55 async def test_pooling_token_embed(server: RemoteOpenAIServer, model_name: str):
56 task = "token_embed"
57 + request_id = "client-request-id"
58 response = requests.post(
59 server.url_for("pooling"),
60 json={
@@ -61,11 +62,13 @@ async def test_pooling_token_embed(server: RemoteOpenAIServer, model_name: str):
62 "input": input_text,
63 "encoding_format": "float",
64 "task": task,
65 + "request_id": request_id,
66 },
67 )
68
69 poolings = PoolingResponse.model_validate(response.json())
70
71 + assert poolings.id == f"pooling-{request_id}"
72 assert len(poolings.data) == 1
73 assert len(poolings.data[0].data) == len(input_tokens)
74 assert len(poolings.data[0].data[0]) == 384
vllm/entrypoints/pooling/base/serving.py
+4 -1
@@ -109,7 +109,10 @@ class PoolingBaseServing(ABC, BaseServing):
109 raw_request: Request | None = None,
110 ):
111 model_name = self.models.model_name()
112 - request_id = f"{self.request_id_prefix}-{self._base_request_id(raw_request)}"
112 + base_request_id = self._base_request_id(
113 + raw_request, getattr(request, "request_id", None)
114 + )
115 + request_id = f"{self.request_id_prefix}-{base_request_id}"
116 await self._check_model(request)
117
118 pooling_params = io_processor.create_pooling_params(request)