@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / b322b197f1
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 6, 13:15 UTC

[Build] Bump python openai version (#32316)

Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>

Chauncey committed Mar 18, 2026 at 18:20 UTC b322b197f17c8164cff0d1e7346def9ffc41573c
5 files changed +16 -19
requirements/common.txt
+1 -1
@@ -12,7 +12,7 @@ tokenizers >= 0.21.1 # Required for fast incremental detokenization.
12 protobuf >= 5.29.6, !=6.30.*, !=6.31.*, !=6.32.*, !=6.33.0.*, !=6.33.1.*, !=6.33.2.*, !=6.33.3.*, !=6.33.4.* # Required by LlamaTokenizer, gRPC. CVE-2026-0994
13 fastapi[standard] >= 0.115.0 # Required by FastAPI's form models in the OpenAI API server's audio transcriptions endpoint.
14 aiohttp >= 3.13.3
15 -openai >= 1.99.1, < 2.25.0 # For Responses API with reasoning content
15 +openai >= 2.0.0 # For Responses API with reasoning content
16 pydantic >= 2.12.0
17 prometheus_client >= 0.18.0
18 pillow # Required for image processing
tests/entrypoints/openai/responses/conftest.py
+1 -1
@@ -370,7 +370,7 @@ def log_response_diagnostics(
370 def default_server_args():
371 return [
372 "--max-model-len",
373 - "8192",
373 + "18192",
374 "--enforce-eager", # For faster startup.
375 "--enable-auto-tool-choice",
376 "--structured-outputs-config.backend",
tests/entrypoints/openai/responses/test_function_call.py
+9 -6
@@ -118,7 +118,6 @@ async def test_function_tool_use(
118 tool_choice=tool_choice,
119 temperature=0.0,
120 )
121 -
121 assert len(response.output) >= 1
122 tool_call = None
123 reasoning = None
@@ -127,11 +126,15 @@ async def test_function_tool_use(
126 tool_call = out
127 if out.type == "reasoning":
128 reasoning = out
130 - assert tool_call is not None
131 - assert tool_call.type == "function_call"
132 - assert json.loads(tool_call.arguments) is not None
133 - assert reasoning is not None
134 - assert reasoning.type == "reasoning"
129 + if response.incomplete_details is None:
130 + assert tool_call is not None
131 + assert tool_call.type == "function_call"
132 + assert json.loads(tool_call.arguments) is not None
133 + assert reasoning is not None
134 + assert reasoning.type == "reasoning"
135 + else:
136 + print(response.model_dump_json(indent=2))
137 + assert response.incomplete_details.reason == "max_output_tokens"
138
139
140 @pytest.mark.asyncio
vllm/entrypoints/openai/responses/protocol.py
+3 -9
@@ -27,6 +27,7 @@ from openai.types.responses import (
27 ResponseReasoningTextDeltaEvent,
28 ResponseReasoningTextDoneEvent,
29 ResponseStatus,
30 + ResponseTextConfig,
31 ResponseWebSearchCallCompletedEvent,
32 ResponseWebSearchCallInProgressEvent,
33 ResponseWebSearchCallSearchingEvent,
@@ -38,20 +39,13 @@ from openai.types.responses import ResponseCreatedEvent as OpenAIResponseCreated
39 from openai.types.responses import (
40 ResponseInProgressEvent as OpenAIResponseInProgressEvent,
41 )
41 -from openai.types.responses.tool import Tool
42 -from openai_harmony import Message as OpenAIHarmonyMessage
43 -
44 -# Backward compatibility for OpenAI client versions
45 -try: # For older openai versions (< 1.100.0)
46 - from openai.types.responses import ResponseTextConfig
47 -except ImportError: # For newer openai versions (>= 1.100.0)
48 - from openai.types.responses import ResponseFormatTextConfig as ResponseTextConfig
49 -
42 from openai.types.responses.response import IncompleteDetails, ToolChoice
43 from openai.types.responses.response_reasoning_item import (
44 Content as ResponseReasoningTextContent,
45 )
46 +from openai.types.responses.tool import Tool
47 from openai.types.shared import Metadata, Reasoning
48 +from openai_harmony import Message as OpenAIHarmonyMessage
49 from pydantic import (
50 Field,
51 ValidationError,
vllm/tool_parsers/abstract_tool_parser.py
+2 -2
@@ -6,8 +6,9 @@ import os
6 from collections.abc import Callable, Sequence
7 from functools import cached_property
8
9 -from openai.types.responses.response_format_text_json_schema_config import (
9 +from openai.types.responses import (
10 ResponseFormatTextJSONSchemaConfig,
11 + ResponseTextConfig,
12 )
13
14 from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
@@ -17,7 +18,6 @@ from vllm.entrypoints.openai.engine.protocol import (
18 )
19 from vllm.entrypoints.openai.responses.protocol import (
20 ResponsesRequest,
20 - ResponseTextConfig,
21 )
22 from vllm.logger import init_logger
23 from vllm.sampling_params import (