[Frontend] Move engine/protocol.py out openai folder (#54492)
Signed-off-by: wang.yuqi <yuqi.wang@daocloud.io> Signed-off-by: wang.yuqi <noooop@126.com> Co-authored-by: Cyrus Leung <cyrus.tl.leung@gmail.com>
wang.yuqi committed
Aug 31, 2026 at 18:13 UTC
eeb549a74dbf9cd41ff6b4c99ea2f4c6a82a7538
194 files changed
+550
-585
.buildkite/test_areas/misc.yaml
+1
-1
@@ -342,7 +342,7 @@ steps:
342
- vllm/entrypoints/chat_utils.py
343
- vllm/entrypoints/mcp/
344
- vllm/entrypoints/openai/chat_completion/protocol.py
345
- - vllm/entrypoints/openai/engine/protocol.py
345
+ - vllm/entrypoints/generate/base/protocol.py
346
- vllm/envs.py
347
- vllm/exceptions.py
348
- vllm/inputs/
rust/src/server/src/routes/openai/utils/structured_outputs.rs
+1
-1
@@ -29,7 +29,7 @@ pub struct JsonSchemaFormat {
29
/// that we can support the vLLM-specific `structural_tag` variant.
30
///
31
/// Original Python definitions:
32
-/// <https://github.com/vllm-project/vllm/blob/f22d6e026/vllm/entrypoints/openai/engine/protocol.py#L116-L157>
32
+/// <https://github.com/vllm-project/vllm/blob/main/vllm/entrypoints/generate/base/protocol.py#L71-L112>
33
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
34
#[serde(tag = "type", rename_all = "snake_case")]
35
pub enum ResponseFormat {
tests/entrypoints/anthropic/test_anthropic_messages_conversion.py
+6
-7
@@ -32,6 +32,11 @@ from vllm.entrypoints.anthropic.serving import (
32
AnthropicServingMessages,
33
_build_anthropic_usage,
34
)
35
+from vllm.entrypoints.generate.base.protocol import (
36
+ DeltaFunctionCall,
37
+ DeltaMessage,
38
+ DeltaToolCall,
39
+)
40
from vllm.entrypoints.openai.chat_completion.protocol import (
41
ChatCompletionResponse,
42
ChatCompletionResponseChoice,
@@ -39,13 +44,7 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
44
ChatCompletionStreamResponse,
45
ChatMessage,
46
)
42
-from vllm.entrypoints.openai.engine.protocol import (
43
- DeltaFunctionCall,
44
- DeltaMessage,
45
- DeltaToolCall,
46
- PromptTokenUsageInfo,
47
- UsageInfo,
48
-)
47
+from vllm.entrypoints.serve.engine.protocol import PromptTokenUsageInfo, UsageInfo
48
from vllm.entrypoints.serve.exception_handling.handlers.validation import (
49
validation_exception_handler,
50
)
tests/entrypoints/cohere/test_api_router.py
+1
-1
@@ -33,8 +33,8 @@ from vllm.entrypoints.cohere.protocol import (
33
CohereChatV2Response,
34
)
35
from vllm.entrypoints.cohere.serving import CohereServingChatV2
36
-from vllm.entrypoints.openai.engine.protocol import ErrorInfo, ErrorResponse
36
from vllm.entrypoints.scale_out.token_in_token_out.protocol import GenerateRequest
37
+from vllm.entrypoints.serve.engine.protocol import ErrorInfo, ErrorResponse
38
from vllm.entrypoints.serve.exception_handling.handlers.http import (
39
http_exception_handler,
40
)
tests/entrypoints/generate/generative_scoring/test_generative_scoring.py
+1
-1
@@ -24,9 +24,9 @@ from vllm.entrypoints.generate.generative_scoring.serving import (
24
GenerativeScoringResponse,
25
ServingGenerativeScoring,
26
)
27
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
27
from vllm.entrypoints.openai.models.protocol import BaseModelPath
28
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
29
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
30
from vllm.logprobs import Logprob
31
from vllm.outputs import CompletionOutput, RequestOutput
32
from vllm.tokenizers import get_tokenizer
tests/entrypoints/launchers/test_run_batch.py
+1
-1
@@ -21,7 +21,7 @@ from vllm.entrypoints.launchers.run_batch import (
21
make_transcription_wrapper,
22
upload_data,
23
)
24
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
24
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
25
from vllm.exceptions import VLLMValidationError
26
from vllm.utils.mem_constants import MiB_bytes
27
tests/entrypoints/openai/chat_completion/test_batched_chat_completions.py
+1
-1
@@ -8,13 +8,13 @@ import httpx
8
import pytest
9
10
from tests.utils import RemoteOpenAIServer
11
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
12
from vllm.entrypoints.openai.chat_completion.batch_serving import (
13
OpenAIServingChatBatch,
14
)
15
from vllm.entrypoints.openai.chat_completion.protocol import (
16
BatchChatCompletionRequest,
17
)
17
-from vllm.entrypoints.openai.engine.protocol import RequestResponseMetadata
18
from vllm.outputs import CompletionOutput, RequestOutput
19
20
# any model with a chat template defined in tokenizer_config should work here
tests/entrypoints/openai/chat_completion/test_chat_error.py
+1
-2
@@ -13,11 +13,10 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
13
ChatCompletionRequest,
14
)
15
from vllm.entrypoints.openai.chat_completion.serving import OpenAIServingChat
16
-from vllm.entrypoints.openai.engine.protocol import GenerationError
16
from vllm.entrypoints.openai.models.protocol import BaseModelPath
17
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
18
from vllm.entrypoints.scale_out.render.serving import ServingRender
20
-from vllm.exceptions import VLLMValidationError
19
+from vllm.exceptions import GenerationError, VLLMValidationError
20
from vllm.outputs import CompletionOutput, RequestOutput
21
from vllm.renderers.hf import HfRenderer
22
from vllm.renderers.online_renderer import OnlineRenderer
tests/entrypoints/openai/chat_completion/test_serving_chat.py
+5
-5
@@ -20,6 +20,10 @@ from tests.entrypoints.openai.utils import (
20
from tests.utils import RemoteOpenAIServer
21
from vllm._aiter_ops import is_aiter_found_and_supported
22
from vllm.config import MultiModalConfig
23
+from vllm.entrypoints.generate.base.protocol import (
24
+ DeltaMessage,
25
+ RequestResponseMetadata,
26
+)
27
from vllm.entrypoints.generate.base.serving import build_per_request_timing_metrics
28
from vllm.entrypoints.openai.chat_completion.protocol import (
29
ChatCompletionRequest,
@@ -31,17 +35,13 @@ from vllm.entrypoints.openai.chat_completion.serving import (
35
_make_completion_tokens_details,
36
_make_prompt_tokens_details,
37
)
34
-from vllm.entrypoints.openai.engine.protocol import (
35
- DeltaMessage,
36
- ErrorResponse,
37
- RequestResponseMetadata,
38
-)
38
from vllm.entrypoints.openai.models.serving import (
39
BaseModelPath,
40
OpenAIModelRegistry,
41
OpenAIServingModels,
42
)
43
from vllm.entrypoints.openai.parser.harmony_utils import get_encoding
44
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
45
from vllm.exceptions import VLLMValidationError
46
from vllm.inputs import TokensPrompt
47
from vllm.multimodal.inputs import PlaceholderRange
tests/entrypoints/openai/completion/test_completion_error.py
+2
-5
@@ -8,16 +8,13 @@ from unittest.mock import AsyncMock, MagicMock
8
import pytest
9
10
from vllm.config.multimodal import MultiModalConfig
11
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
12
from vllm.entrypoints.openai.completion.protocol import CompletionRequest
13
from vllm.entrypoints.openai.completion.serving import OpenAIServingCompletion
13
-from vllm.entrypoints.openai.engine.protocol import (
14
- GenerationError,
15
- RequestResponseMetadata,
16
-)
14
from vllm.entrypoints.openai.models.protocol import BaseModelPath
15
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
16
from vllm.entrypoints.scale_out.render.serving import ServingRender
20
-from vllm.exceptions import VLLMValidationError
17
+from vllm.exceptions import GenerationError, VLLMValidationError
18
from vllm.outputs import CompletionOutput, RequestOutput
19
from vllm.renderers.hf import HfRenderer
20
from vllm.renderers.online_renderer import OnlineRenderer
tests/entrypoints/openai/completion/test_lora_resolvers.py
+1
-1
@@ -11,9 +11,9 @@ import pytest
11
from vllm.config.multimodal import MultiModalConfig
12
from vllm.entrypoints.openai.completion.protocol import CompletionRequest
13
from vllm.entrypoints.openai.completion.serving import OpenAIServingCompletion
14
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
14
from vllm.entrypoints.openai.models.protocol import BaseModelPath
15
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
16
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
17
from vllm.lora.request import LoRARequest
18
from vllm.lora.resolver import LoRAResolver, LoRAResolverRegistry
19
from vllm.renderers.hf import HfRenderer
tests/entrypoints/openai/responses/test_errors.py
+2
-1
@@ -7,8 +7,9 @@ from unittest.mock import MagicMock
7
import pytest
8
9
import vllm.envs as envs
10
-from vllm.entrypoints.generate.base.serving import GenerateBaseServing, GenerationError
10
+from vllm.entrypoints.generate.base.serving import GenerateBaseServing
11
from vllm.envs import disable_envs_cache
12
+from vllm.exceptions import GenerationError
13
14
15
@pytest.mark.asyncio
tests/entrypoints/openai/responses/test_parsable_context_unit.py
+1
-1
@@ -11,7 +11,7 @@ from unittest.mock import MagicMock
11
12
import pytest
13
14
-from vllm.entrypoints.openai.engine.protocol import (
14
+from vllm.entrypoints.generate.base.protocol import (
15
DeltaMessage,
16
ExtractedToolCallInformation,
17
FunctionCall,
tests/entrypoints/openai/responses/test_serving_responses.py
+3
-3
@@ -25,14 +25,13 @@ from openai.types.responses.tool import (
25
)
26
27
import vllm.envs as envs
28
-from vllm.entrypoints.mcp.tool_server import ToolServer
29
-from vllm.entrypoints.openai.engine.protocol import (
28
+from vllm.entrypoints.generate.base.protocol import (
29
DeltaFunctionCall,
30
DeltaMessage,
31
DeltaToolCall,
33
- ErrorResponse,
32
RequestResponseMetadata,
33
)
34
+from vllm.entrypoints.mcp.tool_server import ToolServer
35
from vllm.entrypoints.openai.responses.context import ConversationContext, SimpleContext
36
from vllm.entrypoints.openai.responses.protocol import (
37
ResponseCreatedEvent,
@@ -49,6 +48,7 @@ from vllm.entrypoints.openai.responses.serving import (
48
from vllm.entrypoints.openai.responses.streaming_events import (
49
StreamingState,
50
)
51
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
52
from vllm.inputs import tokens_input
53
from vllm.outputs import CompletionOutput, RequestOutput
54
from vllm.parser.harmony import Segment
tests/entrypoints/openai/responses/test_streaming_events.py
+1
-1
@@ -1,7 +1,7 @@
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4
-from vllm.entrypoints.openai.engine.protocol import (
4
+from vllm.entrypoints.generate.base.protocol import (
5
DeltaFunctionCall,
6
DeltaMessage,
7
DeltaToolCall,
tests/entrypoints/openai/test_render_parity.py
+1
-1
@@ -26,9 +26,9 @@ from openai.types.shared import Reasoning
26
27
from vllm.config.multimodal import MultiModalConfig
28
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
29
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
29
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
30
from vllm.entrypoints.openai.responses.serving import OpenAIServingResponses
31
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
32
from vllm.inputs import tokens_input
33
from vllm.renderers.online_renderer import OnlineRenderer
34
from vllm.renderers.params import ChatParams
tests/entrypoints/openai/test_tool_choice_content_none.py
+8
-8
@@ -5,6 +5,13 @@ import pytest
5
from openai.types.chat.chat_completion import ChatCompletion as OpenAIChatCompletion
6
from openai.types.chat.chat_completion_chunk import ChatCompletionChunk
7
8
+from vllm.entrypoints.generate.base.protocol import (
9
+ DeltaFunctionCall,
10
+ DeltaMessage,
11
+ DeltaToolCall,
12
+ FunctionCall,
13
+ ToolCall,
14
+)
15
from vllm.entrypoints.openai.chat_completion.protocol import (
16
ChatCompletionRequest,
17
ChatCompletionResponse,
@@ -13,15 +20,8 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
20
ChatCompletionStreamResponse,
21
ChatMessage,
22
)
16
-from vllm.entrypoints.openai.engine.protocol import (
17
- DeltaFunctionCall,
18
- DeltaMessage,
19
- DeltaToolCall,
20
- FunctionCall,
21
- ToolCall,
22
- UsageInfo,
23
-)
23
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
24
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
25
from vllm.parser.abstract_parser import DelegatingParser
26
27
pytestmark = pytest.mark.skip_global_cleanup
tests/entrypoints/openai/utils.py
+1
-1
@@ -10,7 +10,7 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
10
ChatCompletionStreamResponse,
11
ChatMessage,
12
)
13
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
13
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
14
15
16
async def accumulate_streaming_response(
tests/entrypoints/scale_out/derender/test_derender_stream.py
+1
-4
@@ -23,6 +23,7 @@ from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
23
GenerateResponseStreamChoice,
24
GenerateStreamResponse,
25
)
26
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
27
28
MODEL_NAME = "hmellor/tiny-random-LlamaForCausalLM"
29
@@ -40,7 +41,6 @@ def _make_stream_chunk(
41
usage: dict | None = None,
42
) -> GenerateStreamResponse:
43
"""Build a GenerateStreamResponse SSE chunk."""
43
- from vllm.entrypoints.openai.engine.protocol import UsageInfo
44
45
return GenerateStreamResponse(
46
request_id=request_id,
@@ -61,7 +61,6 @@ def _make_usage_chunk(
61
request_id: str = "test-req",
62
) -> GenerateStreamResponse:
63
"""Build a usage only final SSE chunk (empty choices)."""
64
- from vllm.entrypoints.openai.engine.protocol import UsageInfo
64
65
return GenerateStreamResponse(
66
request_id=request_id,
@@ -473,7 +472,6 @@ class TestServingDerenderStreamErrorHandling:
472
@pytest.mark.asyncio
473
@pytest.mark.parametrize("exc", [KeyError("bad byte"), IndexError("oob")])
474
async def test_completion_stream_bad_state_returns_400(self, exc):
476
- from vllm.entrypoints.openai.engine.protocol import ErrorResponse
475
from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
476
DerenderCompletionStreamRequest,
477
)
@@ -492,7 +490,6 @@ class TestServingDerenderStreamErrorHandling:
490
@pytest.mark.asyncio
491
@pytest.mark.parametrize("exc", [KeyError("bad byte"), IndexError("oob")])
492
async def test_chat_stream_bad_state_returns_400(self, exc):
495
- from vllm.entrypoints.openai.engine.protocol import ErrorResponse
493
from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
494
DerenderChatStreamRequest,
495
)
tests/entrypoints/scale_out/token_in_token_out/test_generate_stream.py
+2
-1
@@ -9,7 +9,7 @@ from unittest.mock import AsyncMock, MagicMock
9
import pytest
10
11
from vllm.config.multimodal import MultiModalConfig
12
-from vllm.entrypoints.openai.engine.protocol import GenerationError, StreamOptions
12
+from vllm.entrypoints.generate.base.protocol import StreamOptions
13
from vllm.entrypoints.openai.models.protocol import BaseModelPath
14
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
15
from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
@@ -17,6 +17,7 @@ from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
17
GenerateResponse,
18
)
19
from vllm.entrypoints.scale_out.token_in_token_out.serving import ServingTokens
20
+from vllm.exceptions import GenerationError
21
from vllm.logprobs import Logprob
22
from vllm.outputs import CompletionOutput, RequestOutput
23
from vllm.renderers import renderer_from_config
tests/entrypoints/serve/lora/test_serving_models.py
+1
-3
@@ -9,13 +9,11 @@ import pytest
9
from vllm import PoolingParams
10
from vllm.config import ModelConfig
11
from vllm.engine.protocol import EngineClient
12
-from vllm.entrypoints.openai.engine.protocol import (
13
- ErrorResponse,
14
-)
12
from vllm.entrypoints.openai.models.protocol import BaseModelPath
13
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
14
from vllm.entrypoints.pooling.base.serving import PoolingBaseServing
15
from vllm.entrypoints.pooling.typing import PoolingServeContext
16
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
17
from vllm.entrypoints.serve.lora.protocol import (
18
LoadLoRAAdapterRequest,
19
UnloadLoRAAdapterRequest,
tests/entrypoints/serve/utils/test_api_utils.py
+1
-1
@@ -5,7 +5,7 @@ from argparse import Namespace
5
6
import pytest
7
8
-from vllm.entrypoints.openai.engine.protocol import StreamOptions
8
+from vllm.entrypoints.generate.base.protocol import StreamOptions
9
from vllm.entrypoints.serve.utils import api_utils
10
from vllm.entrypoints.serve.utils.api_utils import (
11
get_max_tokens,
tests/entrypoints/speech_to_text/transcription/test_transcription_inter_chunk_spacing.py
+2
-4
@@ -19,11 +19,9 @@ import pytest
19
20
from vllm.config import ModelConfig
21
from vllm.config.speech_to_text import SpeechToTextConfig
22
-from vllm.entrypoints.openai.engine.protocol import (
23
- ErrorResponse,
24
- RequestResponseMetadata,
25
-)
22
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
23
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
24
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
25
from vllm.entrypoints.speech_to_text.base.serving import (
26
SpeechToTextBaseServing,
27
asr_inter_chunk_separator,
tests/parser/engine/replay_harness.py
+1
-1
@@ -13,10 +13,10 @@ import json
13
from collections.abc import Sequence
14
from dataclasses import dataclass, field
15
16
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
17
from vllm.entrypoints.openai.chat_completion.protocol import (
18
ChatCompletionRequest,
19
)
19
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
20
21
22
@dataclass
tests/parser/engine/streaming_helpers.py
+1
-1
@@ -6,7 +6,7 @@ from __future__ import annotations
6
7
from typing import Any
8
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
11
12
def _build_token_id_map(parser) -> dict[str, int]:
tests/parser/engine/test_gemma4_streaming_reasoning.py
+1
-1
@@ -14,10 +14,10 @@ from tests.parser.engine.streaming_helpers import (
14
collect_tool_arguments,
15
simulate_tool_streaming,
16
)
17
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
18
from vllm.entrypoints.openai.chat_completion.protocol import (
19
ChatCompletionRequest,
20
)
20
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
21
from vllm.parser.gemma4 import Gemma4Parser
22
23
# ── Special token IDs (arbitrary but consistent) ─────────────────────
tests/parser/engine/test_parser_engine.py
+5
-5
@@ -15,15 +15,15 @@ import pytest
15
import regex as re
16
17
from tests.parser.engine.conftest import make_mock_tokenizer
18
-from vllm.entrypoints.openai.chat_completion.protocol import (
19
- ChatCompletionRequest,
20
- ChatCompletionToolsParam,
21
-)
22
-from vllm.entrypoints.openai.engine.protocol import (
18
+from vllm.entrypoints.generate.base.protocol import (
19
DeltaFunctionCall,
20
DeltaToolCall,
21
FunctionDefinition,
22
)
23
+from vllm.entrypoints.openai.chat_completion.protocol import (
24
+ ChatCompletionRequest,
25
+ ChatCompletionToolsParam,
26
+)
27
from vllm.parser.abstract_parser import DelegatingParser
28
from vllm.parser.engine.adapters import make_adapters
29
from vllm.parser.engine.events import EventType, SemanticEvent
tests/parser/mistral/test_tool_calls.py
+4
-4
@@ -25,16 +25,16 @@ from mistral_common.protocol.instruct.tool_calls import (
25
)
26
from partial_json_parser.core.options import Allow
27
28
-from vllm.entrypoints.openai.chat_completion.protocol import (
29
- ChatCompletionRequest,
30
-)
31
-from vllm.entrypoints.openai.engine.protocol import (
28
+from vllm.entrypoints.generate.base.protocol import (
29
DeltaFunctionCall,
30
DeltaMessage,
31
DeltaToolCall,
32
ExtractedToolCallInformation,
33
StructuralTagResponseFormat,
34
)
35
+from vllm.entrypoints.openai.chat_completion.protocol import (
36
+ ChatCompletionRequest,
37
+)
38
from vllm.parser.engine.events import EventType
39
from vllm.parser.engine.streaming_parser_engine import StreamingParserEngine
40
from vllm.parser.mistral import _DEFAULT_JSON_SCHEMA, MistralParser, mistral_config
tests/parser/test_harmony.py
+1
-1
@@ -15,8 +15,8 @@ from openai_harmony import (
15
from transformers import AutoTokenizer, GenerationConfig
16
17
from vllm.config import StructuredOutputsConfig, VllmConfig
18
+from vllm.entrypoints.generate.base.protocol import FunctionCall
19
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
19
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
20
from vllm.entrypoints.openai.parser.harmony_utils import (
21
get_encoding,
22
)
tests/parser/test_include_reasoning.py
+1
-1
@@ -10,8 +10,8 @@ import json
10
11
import pytest
12
13
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
14
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
14
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
15
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
16
from vllm.parser.abstract_parser import DelegatingParser
17
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
tests/parser/test_streaming.py
+1
-1
@@ -6,8 +6,8 @@ from types import SimpleNamespace
6
7
import pytest
8
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
10
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
11
from vllm.parser.abstract_parser import DelegatingParser
12
from vllm.parser.engine.registered_adapters import Qwen3ParserReasoningAdapter
13
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
tests/plugins/bge_m3_sparse_plugin/bge_m3_sparse_processor/sparse_embeddings_processor.py
+1
-1
@@ -4,7 +4,7 @@
4
from collections.abc import Sequence
5
6
from vllm.config import PoolerConfig, VllmConfig
7
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
7
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
8
from vllm.inputs import PromptType
9
from vllm.outputs import PoolingRequestOutput
10
from vllm.plugins.io_processors.interface import IOProcessor
tests/plugins/bge_m3_sparse_plugin/bge_m3_sparse_processor/types.py
+1
-1
@@ -5,11 +5,11 @@ from typing import Literal, get_args
5
6
from pydantic import BaseModel, Field
7
8
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
8
from vllm.entrypoints.pooling.base.protocol import (
9
CompletionRequestMixin,
10
EmbedRequestMixin,
11
)
12
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
13
14
EmbedTask = Literal[
15
"sparse",
tests/plugins/colbert_query_plugin/colbert_query_processor/query_embedding_processor.py
+1
-1
@@ -4,7 +4,7 @@ from collections.abc import Iterator, Sequence
4
from typing import cast
5
6
from vllm.config import VllmConfig
7
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
7
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
8
from vllm.inputs import PromptType, TokensPrompt
9
from vllm.outputs import PoolingRequestOutput
10
from vllm.plugins.io_processors.interface import IOProcessor
tests/plugins/colbert_query_plugin/colbert_query_processor/types.py
+1
-1
@@ -5,8 +5,8 @@ from typing import Literal, get_args
5
6
from pydantic import BaseModel, Field
7
8
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
8
from vllm.entrypoints.pooling.base.protocol import CompletionRequestMixin
9
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
10
11
InputType = Literal["query", "document"]
12
INPUT_TYPES: tuple[InputType, ...] = get_args(InputType)
tests/reasoning/test_cohere_command_reasoning_parser.py
+4
-4
@@ -12,14 +12,14 @@ from typing import Any
12
import pytest
13
from pydantic import ValidationError
14
15
-from vllm.entrypoints.openai.chat_completion.protocol import (
16
- ChatCompletionRequest,
17
-)
18
-from vllm.entrypoints.openai.engine.protocol import (
15
+from vllm.entrypoints.generate.base.protocol import (
16
JsonSchemaResponseFormat,
17
ResponseFormat,
18
StructuralTagResponseFormat,
19
)
20
+from vllm.entrypoints.openai.chat_completion.protocol import (
21
+ ChatCompletionRequest,
22
+)
23
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
24
from vllm.reasoning.cohere_command_reasoning_parser import (
25
CohereCommand3ReasoningParser,
tests/reasoning/test_deepseekv3_reasoning_parser.py
+1
-1
@@ -4,8 +4,8 @@
4
import pytest
5
from transformers import AutoTokenizer
6
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
8
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
8
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
9
from vllm.reasoning import ReasoningParserManager
10
from vllm.reasoning.deepseek_r1_reasoning_parser import DeepSeekR1ReasoningParser
11
from vllm.reasoning.deepseek_v3_reasoning_parser import DeepSeekV3ReasoningParser
tests/reasoning/test_kimi_k2_reasoning_parser.py
+1
-1
@@ -5,8 +5,8 @@ from unittest.mock import MagicMock
5
6
import pytest
7
8
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
9
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
10
from vllm.reasoning.kimi_k2_reasoning_parser import KimiK2ReasoningParser
11
from vllm.tokenizers import get_tokenizer
12
tests/reasoning/test_kimi_k3_reasoning_parser.py
+1
-1
@@ -3,10 +3,10 @@
3
4
import pytest
5
6
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
7
from vllm.entrypoints.openai.chat_completion.protocol import (
8
ChatCompletionRequest,
9
)
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
10
from vllm.parser.kimi_k3 import KimiK3Parser
11
from vllm.parser.parser_manager import ParserManager
12
from vllm.reasoning.kimi_k3_reasoning_parser import KimiK3ReasoningParser
tests/reasoning/utils.py
+1
-1
@@ -1,8 +1,8 @@
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
5
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
5
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
6
from vllm.reasoning import ReasoningParser
7
from vllm.utils.mistral import is_mistral_tokenizer
8
tests/tool_parsers/test_dots_tool_parser.py
+1
-1
@@ -7,11 +7,11 @@ from unittest.mock import MagicMock
7
8
import pytest
9
10
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
11
from vllm.entrypoints.openai.chat_completion.protocol import (
12
ChatCompletionRequest,
13
ChatCompletionToolsParam,
14
)
14
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
15
from vllm.tool_parsers import ToolParserManager
16
from vllm.tool_parsers.dots_tool_parser import DotsToolParser
17
tests/tool_parsers/test_ernie45_moe_tool_parser.py
+2
-2
@@ -7,12 +7,12 @@ from collections.abc import Generator
7
8
import pytest
9
10
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
11
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.generate.base.protocol import (
11
DeltaMessage,
12
FunctionCall,
13
ToolCall,
14
)
15
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
16
from vllm.tokenizers import TokenizerLike, get_tokenizer
17
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
18
from vllm.tool_parsers.ernie45_tool_parser import Ernie45ToolParser
tests/tool_parsers/test_gigachat3_tool_parser.py
+1
-1
@@ -10,7 +10,7 @@ from tests.tool_parsers.utils import (
10
run_tool_extraction,
11
run_tool_extraction_streaming,
12
)
13
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
13
+from vllm.entrypoints.generate.base.protocol import FunctionCall
14
from vllm.tokenizers import TokenizerLike
15
from vllm.tool_parsers import ToolParser, ToolParserManager
16
tests/tool_parsers/test_glm47_moe_tool_parser.py
+1
-1
@@ -9,12 +9,12 @@ from unittest.mock import Mock
9
import pytest
10
from openai.types.responses import ResponseFunctionToolCall
11
12
+from vllm.entrypoints.generate.base.protocol import FunctionCall
13
from vllm.entrypoints.openai.chat_completion.protocol import (
14
ChatCompletionRequest,
15
ChatCompletionToolsParam,
16
FunctionDefinition,
17
)
17
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
18
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
19
from vllm.entrypoints.openai.responses.utils import build_response_output_items
20
from vllm.tokenizers import get_tokenizer
tests/tool_parsers/test_granite4_tool_parser.py
+2
-2
@@ -7,10 +7,10 @@ from typing import Any
7
import pytest
8
from transformers import AutoTokenizer
9
10
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
11
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.generate.base.protocol import (
11
DeltaMessage,
12
)
13
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
14
from vllm.tool_parsers.granite4_tool_parser import Granite4ToolParser
15
16
MODEL = "ibm-granite/granite-4.0-h-tiny"
tests/tool_parsers/test_hunyuan_a13b_tool_parser.py
+1
-1
@@ -11,7 +11,7 @@ from tests.tool_parsers.utils import (
11
run_tool_extraction,
12
run_tool_extraction_streaming,
13
)
14
-from vllm.entrypoints.openai.engine.protocol import FunctionCall, ToolCall
14
+from vllm.entrypoints.generate.base.protocol import FunctionCall, ToolCall
15
from vllm.tool_parsers import ToolParser, ToolParserManager
16
17
tests/tool_parsers/test_hy_v3_tool_parser.py
+1
-1
@@ -8,12 +8,12 @@ from unittest.mock import Mock
8
9
import pytest
10
11
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
12
from vllm.entrypoints.openai.chat_completion.protocol import (
13
ChatCompletionRequest,
14
ChatCompletionToolsParam,
15
FunctionDefinition,
16
)
16
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
17
from vllm.tokenizers import get_tokenizer
18
from vllm.tool_parsers.hy_v3_tool_parser import HYV3ToolParser
19
tests/tool_parsers/test_jamba_tool_parser.py
+1
-1
@@ -8,7 +8,7 @@ import partial_json_parser
8
import pytest
9
from partial_json_parser.core.options import Allow
10
11
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage, FunctionCall, ToolCall
11
+from vllm.entrypoints.generate.base.protocol import DeltaMessage, FunctionCall, ToolCall
12
from vllm.tokenizers import TokenizerLike, get_tokenizer
13
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
14
from vllm.tool_parsers.jamba_tool_parser import JambaToolParser
tests/tool_parsers/test_lfm2_tool_parser.py
+1
-1
@@ -10,7 +10,7 @@ from tests.tool_parsers.utils import (
10
run_tool_extraction,
11
run_tool_extraction_streaming,
12
)
13
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
13
+from vllm.entrypoints.generate.base.protocol import FunctionCall
14
from vllm.tokenizers import TokenizerLike
15
from vllm.tool_parsers import ToolParser, ToolParserManager
16
tests/tool_parsers/test_llama3_json_tool_parser.py
+1
-1
@@ -6,7 +6,7 @@ from unittest.mock import MagicMock, patch
6
import pytest
7
from transformers import AutoTokenizer
8
9
-from vllm.entrypoints.openai.engine.protocol import ExtractedToolCallInformation
9
+from vllm.entrypoints.generate.base.protocol import ExtractedToolCallInformation
10
from vllm.tool_parsers.llama_tool_parser import Llama3JsonToolParser
11
12
LLAMA_MODEL = "meta-llama/Llama-3.2-1B-Instruct"
tests/tool_parsers/test_llama4_pythonic_tool_parser.py
+1
-1
@@ -9,7 +9,7 @@ from tests.tool_parsers.utils import (
9
run_tool_extraction,
10
run_tool_extraction_streaming,
11
)
12
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
12
+from vllm.entrypoints.generate.base.protocol import FunctionCall
13
from vllm.tokenizers import TokenizerLike
14
from vllm.tool_parsers import ToolParser, ToolParserManager
15
tests/tool_parsers/test_minicpm5xml_tool_parser.py
+1
-1
@@ -9,11 +9,11 @@ from unittest.mock import MagicMock
9
import pytest
10
11
from tests.tool_parsers.utils import run_tool_extraction_streaming
12
+from vllm.entrypoints.generate.base.protocol import FunctionCall, ToolCall
13
from vllm.entrypoints.openai.chat_completion.protocol import (
14
ChatCompletionRequest,
15
ChatCompletionToolsParam,
16
)
16
-from vllm.entrypoints.openai.engine.protocol import FunctionCall, ToolCall
17
from vllm.tool_parsers import ToolParser, ToolParserManager
18
from vllm.tool_parsers.minicpm5xml_tool_parser import MiniCPM5XMLToolParser
19
tests/tool_parsers/test_minimax_m3_tool_parser.py
+1
-1
@@ -6,11 +6,11 @@ from typing import Any
6
7
import pytest
8
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
from vllm.entrypoints.openai.chat_completion.protocol import (
11
ChatCompletionToolsParam,
12
FunctionDefinition,
13
)
13
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
14
from vllm.tool_parsers import ToolParserManager
15
from vllm.tool_parsers.minimax_m3_tool_parser import MinimaxM3ToolParser
16
tests/tool_parsers/test_olmo3_tool_parser.py
+1
-1
@@ -9,7 +9,7 @@ from tests.tool_parsers.utils import (
9
run_tool_extraction,
10
run_tool_extraction_streaming,
11
)
12
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
12
+from vllm.entrypoints.generate.base.protocol import FunctionCall
13
from vllm.tokenizers import TokenizerLike
14
from vllm.tool_parsers import ToolParser, ToolParserManager
15
tests/tool_parsers/test_pythonic_tool_parser.py
+1
-1
@@ -9,7 +9,7 @@ from tests.tool_parsers.utils import (
9
run_tool_extraction,
10
run_tool_extraction_streaming,
11
)
12
-from vllm.entrypoints.openai.engine.protocol import FunctionCall
12
+from vllm.entrypoints.generate.base.protocol import FunctionCall
13
from vllm.tokenizers import TokenizerLike
14
from vllm.tool_parsers import ToolParser, ToolParserManager
15
tests/tool_parsers/test_qwen3coder_tool_parser.py
+5
-5
@@ -9,6 +9,11 @@ import pytest
9
from openai.types.responses.function_tool import FunctionTool
10
from xgrammar import StructuralTag
11
12
+from vllm.entrypoints.generate.base.protocol import (
13
+ DeltaMessage,
14
+ FunctionCall,
15
+ ToolCall,
16
+)
17
from vllm.entrypoints.openai.chat_completion.protocol import (
18
ChatCompletionNamedFunction,
19
ChatCompletionNamedToolChoiceParam,
@@ -16,11 +21,6 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
21
ChatCompletionToolsParam,
22
FunctionDefinition,
23
)
19
-from vllm.entrypoints.openai.engine.protocol import (
20
- DeltaMessage,
21
- FunctionCall,
22
- ToolCall,
23
-)
24
from vllm.parser.abstract_parser import DelegatingParser
25
from vllm.tokenizers import TokenizerLike, get_tokenizer
26
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
tests/tool_parsers/test_step3p5_tool_parser.py
+5
-5
@@ -6,15 +6,15 @@ from collections.abc import Generator
6
7
import pytest
8
9
-from vllm.entrypoints.openai.chat_completion.protocol import (
10
- ChatCompletionRequest,
11
- ChatCompletionToolsParam,
12
-)
13
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaMessage,
11
FunctionCall,
12
ToolCall,
13
)
14
+from vllm.entrypoints.openai.chat_completion.protocol import (
15
+ ChatCompletionRequest,
16
+ ChatCompletionToolsParam,
17
+)
18
from vllm.tokenizers import TokenizerLike, get_tokenizer
19
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
20
from vllm.tool_parsers.step3p5_tool_parser import Step3p5ToolParser
tests/tool_parsers/test_xlam_tool_parser.py
+2
-2
@@ -6,12 +6,12 @@ from collections.abc import Generator
6
7
import pytest
8
9
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
10
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaMessage,
11
FunctionCall,
12
ToolCall,
13
)
14
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
15
from vllm.tokenizers import TokenizerLike, get_tokenizer
16
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
17
from vllm.tool_parsers.xlam_tool_parser import xLAMToolParser
tests/tool_parsers/utils.py
+2
-2
@@ -3,13 +3,13 @@
3
4
from collections.abc import Iterable
5
6
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
7
-from vllm.entrypoints.openai.engine.protocol import (
6
+from vllm.entrypoints.generate.base.protocol import (
7
DeltaMessage,
8
ExtractedToolCallInformation,
9
FunctionCall,
10
ToolCall,
11
)
12
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
13
from vllm.tokenizers import TokenizerLike
14
from vllm.tool_parsers import ToolParser
15
tests/tool_use/test_kimi_k3_tool_parser.py
+1
-1
@@ -5,10 +5,10 @@ import json
5
6
import pytest
7
8
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
9
from vllm.entrypoints.openai.chat_completion.protocol import (
10
ChatCompletionRequest,
11
)
11
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
12
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
13
from vllm.entrypoints.openai.responses.utils import build_response_output_items
14
from vllm.exceptions import VLLMValidationError
vllm/entrypoints/anthropic/api_router.py
+1
-1
@@ -16,7 +16,7 @@ from vllm.entrypoints.anthropic.protocol import (
16
AnthropicMessagesResponse,
17
)
18
from vllm.entrypoints.anthropic.serving import AnthropicServingMessages
19
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
19
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
20
from vllm.entrypoints.serve.exception_handling.error_response import (
21
create_error_response,
22
)
vllm/entrypoints/anthropic/serving.py
+6
-7
@@ -30,6 +30,11 @@ from vllm.entrypoints.anthropic.protocol import (
30
AnthropicUsage,
31
)
32
from vllm.entrypoints.chat_utils import ChatTemplateContentFormatOption
33
+from vllm.entrypoints.generate.base.protocol import (
34
+ JsonSchemaResponseFormat,
35
+ ResponseFormat,
36
+ StreamOptions,
37
+)
38
from vllm.entrypoints.openai.chat_completion.protocol import (
39
ChatCompletionNamedToolChoiceParam,
40
ChatCompletionRequest,
@@ -38,14 +43,8 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
43
ChatCompletionToolsParam,
44
)
45
from vllm.entrypoints.openai.chat_completion.serving import OpenAIServingChat
41
-from vllm.entrypoints.openai.engine.protocol import (
42
- ErrorResponse,
43
- JsonSchemaResponseFormat,
44
- ResponseFormat,
45
- StreamOptions,
46
- UsageInfo,
47
-)
46
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
47
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
48
from vllm.entrypoints.serve.exception_handling.utils import sanitize_message
49
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
50
from vllm.renderers.online_renderer import OnlineRenderer
vllm/entrypoints/cohere/api_router.py
+1
-1
@@ -38,7 +38,7 @@ from fastapi.responses import JSONResponse, Response, StreamingResponse
38
from starlette.middleware.base import BaseHTTPMiddleware
39
40
import vllm.envs as envs
41
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
41
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
42
from vllm.entrypoints.serve.exception_handling.utils import sanitize_message
43
from vllm.entrypoints.serve.utils.api_utils import (
44
load_aware_call,
vllm/entrypoints/cohere/cohere_chat_message.py
+2
-4
@@ -29,11 +29,9 @@ from typing import Any, Literal
29
30
from pydantic import Field, model_serializer
31
32
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
33
from vllm.entrypoints.openai.chat_completion.protocol import ChatMessage
33
-from vllm.entrypoints.openai.engine.protocol import (
34
- DeltaMessage,
35
- OpenAIBaseModel,
36
-)
34
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel
35
36
37
class CitationSource(OpenAIBaseModel):
vllm/entrypoints/cohere/serving.py
+6
-7
@@ -71,6 +71,11 @@ from vllm.entrypoints.cohere.protocol import (
71
ToolCallStartEvent,
72
ToolPlanDeltaEvent,
73
)
74
+from vllm.entrypoints.generate.base.protocol import (
75
+ JsonSchemaResponseFormat,
76
+ ResponseFormat,
77
+ StreamOptions,
78
+)
79
from vllm.entrypoints.openai.chat_completion.protocol import (
80
ChatCompletionRequest,
81
ChatCompletionResponse,
@@ -79,13 +84,8 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
84
ChatMessage,
85
)
86
from vllm.entrypoints.openai.chat_completion.serving import OpenAIServingChat
82
-from vllm.entrypoints.openai.engine.protocol import (
83
- ErrorResponse,
84
- JsonSchemaResponseFormat,
85
- ResponseFormat,
86
- StreamOptions,
87
-)
87
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
88
+from vllm.entrypoints.serve.engine.protocol import ErrorInfo, ErrorResponse
89
from vllm.entrypoints.serve.exception_handling.utils import sanitize_message
90
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
91
from vllm.parser.abstract_parser import Parser
@@ -1761,7 +1761,6 @@ class CohereServingChatV2(OpenAIServingChat):
1761
# so the router can translate the envelope uniformly. ``param``
1762
# is accepted for signature parity with the base class but is
1763
# not surfaced in the Cohere wire format.
1764
- from vllm.entrypoints.openai.engine.protocol import ErrorInfo
1764
1765
del param # unused; kept for signature compatibility
1766
return ErrorResponse(
vllm/entrypoints/generate/base/protocol.py
renamed
+3
-110
@@ -4,9 +4,7 @@
4
# Adapted from
5
# https://github.com/lm-sys/FastChat/blob/168ccc29d3f7edc50823016105c024fe2282732a/fastchat/protocol/openai_api_protocol.py
6
import json
7
-import time
8
-from http import HTTPStatus
9
-from typing import Annotated, Any, ClassVar, Literal, TypeAlias
7
+from typing import Annotated, Any, Literal, TypeAlias
8
9
import regex as re
10
from pydantic import (
@@ -14,16 +12,15 @@ from pydantic import (
12
ConfigDict,
13
Field,
14
model_serializer,
17
- model_validator,
15
)
16
17
import vllm.envs as envs
18
from vllm.config.utils import replace
19
from vllm.entrypoints.chat_utils import make_tool_call_id
23
-from vllm.exceptions import VLLMServerError, VLLMValidationError
20
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
21
+from vllm.exceptions import VLLMValidationError
22
from vllm.logger import init_logger
23
from vllm.sampling_params import StructuredOutputsParams
26
-from vllm.utils import random_uuid
24
from vllm.utils.import_utils import resolve_obj_by_qualname
25
26
logger = init_logger(__name__)
@@ -33,102 +30,6 @@ StopParam: TypeAlias = (
30
)
31
32
36
-class OpenAIBaseModel(BaseModel):
37
- # OpenAI API does allow extra fields
38
- model_config = ConfigDict(extra="allow")
39
-
40
- # Cache class field names
41
- field_names: ClassVar[set[str] | None] = None
42
-
43
- @model_validator(mode="wrap")
44
- @classmethod
45
- def __log_extra_fields__(cls, data, handler):
46
- result = handler(data)
47
- if not isinstance(data, dict):
48
- return result
49
- field_names = cls.field_names
50
- if field_names is None:
51
- # Get all class field names and their potential aliases
52
- field_names = set()
53
- for field_name, field in cls.model_fields.items():
54
- field_names.add(field_name)
55
- if alias := getattr(field, "alias", None):
56
- field_names.add(alias)
57
- cls.field_names = field_names
58
-
59
- # Compare against both field names and aliases
60
- if any(k not in field_names for k in data):
61
- logger.debug(
62
- "The following fields were present in the request but ignored: %s",
63
- data.keys() - field_names,
64
- )
65
- return result
66
-
67
-
68
-class ErrorInfo(OpenAIBaseModel):
69
- message: str
70
- type: str
71
- param: str | None = None
72
- code: int
73
-
74
-
75
-class ErrorResponse(OpenAIBaseModel):
76
- error: ErrorInfo
77
-
78
-
79
-class ModelPermission(OpenAIBaseModel):
80
- id: str = Field(default_factory=lambda: f"modelperm-{random_uuid()}")
81
- object: str = "model_permission"
82
- created: int = Field(default_factory=lambda: int(time.time()))
83
- allow_create_engine: bool = False
84
- allow_sampling: bool = True
85
- allow_logprobs: bool = True
86
- allow_search_indices: bool = False
87
- allow_view: bool = True
88
- allow_fine_tuning: bool = False
89
- organization: str = "*"
90
- group: str | None = None
91
- is_blocking: bool = False
92
-
93
-
94
-class ModelCard(OpenAIBaseModel):
95
- id: str
96
- object: str = "model"
97
- created: int = Field(default_factory=lambda: int(time.time()))
98
- owned_by: str = "vllm"
99
- root: str | None = None
100
- parent: str | None = None
101
- max_model_len: int | None = None
102
- permission: list[ModelPermission] = Field(default_factory=list)
103
-
104
-
105
-class ModelList(OpenAIBaseModel):
106
- object: str = "list"
107
- data: list[ModelCard] = Field(default_factory=list)
108
-
109
-
110
-class PromptTokenUsageInfo(OpenAIBaseModel):
111
- cached_tokens: int | None = None
112
- created_cache_tokens: int | None = None
113
- multimodal_tokens: dict[str, int] | None = None
114
- """Prompt tokens contributed by each input modality, keyed by modality name
115
- (e.g. `image`, `audio`, `video`). A breakdown of the multimodal
116
- placeholder tokens already counted in `prompt_tokens`; `None` when the
117
- request has no multimodal input."""
118
-
119
-
120
-class CompletionTokenUsageInfo(OpenAIBaseModel):
121
- reasoning_tokens: int = 0
122
-
123
-
124
-class UsageInfo(OpenAIBaseModel):
125
- prompt_tokens: int = 0
126
- total_tokens: int = 0
127
- completion_tokens: int | None = 0
128
- prompt_tokens_details: PromptTokenUsageInfo | None = None
129
- completion_tokens_details: CompletionTokenUsageInfo | None = None
130
-
131
-
33
class SpeculativeDecodingMetrics(OpenAIBaseModel):
34
"""Per-request speculative-decoding acceptance metrics.
35
@@ -437,11 +338,3 @@ class DeltaMessage(OpenAIBaseModel):
338
if len(data.get("tool_calls", [])) == 0:
339
data.pop("tool_calls", None)
340
return data
440
-
441
-
442
-class GenerationError(VLLMServerError):
443
- """raised when finish_reason indicates internal server error (500)"""
444
-
445
- def __init__(self, message: str = "Internal server error"):
446
- super().__init__(message)
447
- self.status_code = HTTPStatus.INTERNAL_SERVER_ERROR
vllm/entrypoints/generate/base/serving.py
+8
-10
@@ -5,27 +5,28 @@ import time
5
from collections.abc import Awaitable, Mapping
6
from dataclasses import dataclass, field
7
from http import HTTPStatus
8
-from typing import TYPE_CHECKING, ClassVar, Generic, TypeVar
8
+from typing import ClassVar, Generic, TypeVar
9
10
from fastapi import Request
11
from pydantic import ConfigDict
12
from starlette.datastructures import Headers
13
14
+from vllm import RequestOutput
15
from vllm.engine.protocol import EngineClient
15
-from vllm.entrypoints.generate.beam_search.online import BeamSearchOnlineMixin
16
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
17
-from vllm.entrypoints.openai.completion.protocol import CompletionRequest
18
-from vllm.entrypoints.openai.engine.protocol import (
19
- ErrorResponse,
20
- GenerationError,
16
+from vllm.entrypoints.generate.base.protocol import (
17
PerRequestMetrics,
18
SpeculativeDecodingMetrics,
19
)
20
+from vllm.entrypoints.generate.beam_search.online import BeamSearchOnlineMixin
21
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
22
+from vllm.entrypoints.openai.completion.protocol import CompletionRequest
23
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
24
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
25
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
26
from vllm.entrypoints.serve.engine.serving import BaseServing
27
from vllm.entrypoints.serve.engine.typing import AnyRequest
28
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
29
+from vllm.exceptions import GenerationError
30
from vllm.inputs import EngineInput
31
from vllm.logger import init_logger
32
from vllm.logprobs import Logprob, PromptLogprobs
@@ -38,9 +39,6 @@ from vllm.tracing import (
39
)
40
from vllm.v1.metrics.stats import RequestStateStats
41
41
-if TYPE_CHECKING:
42
- from vllm.outputs import RequestOutput
43
-
42
logger = init_logger(__name__)
43
44
RequestT = TypeVar("RequestT", bound=AnyRequest)
vllm/entrypoints/generate/generative_scoring/api_router.py
+1
-1
@@ -9,7 +9,7 @@ from vllm.entrypoints.generate.generative_scoring.serving import (
9
GenerativeScoringResponse,
10
ServingGenerativeScoring,
11
)
12
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
12
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
13
from vllm.entrypoints.serve.utils.api_utils import (
14
load_aware_call,
15
validate_json_request,
vllm/entrypoints/generate/generative_scoring/serving.py
+2
-2
@@ -18,12 +18,12 @@ from fastapi import Request
18
from pydantic import Field
19
20
from vllm.engine.protocol import EngineClient
21
-from vllm.entrypoints.openai.engine.protocol import (
21
+from vllm.entrypoints.openai.models.serving import OpenAIServingModels
22
+from vllm.entrypoints.serve.engine.protocol import (
23
ErrorResponse,
24
OpenAIBaseModel,
25
UsageInfo,
26
)
26
-from vllm.entrypoints.openai.models.serving import OpenAIServingModels
27
from vllm.entrypoints.serve.engine.serving import BaseServing
28
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
29
from vllm.inputs import EngineInput, tokens_input
vllm/entrypoints/launchers/run_batch.py
+5
-5
@@ -35,11 +35,6 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
35
ChatCompletionRequest,
36
ChatCompletionResponse,
37
)
38
-from vllm.entrypoints.openai.engine.protocol import (
39
- ErrorInfo,
40
- ErrorResponse,
41
- OpenAIBaseModel,
42
-)
38
from vllm.entrypoints.pooling.embed.protocol import (
39
EmbeddingRequest,
40
EmbeddingResponse,
@@ -51,6 +46,11 @@ from vllm.entrypoints.pooling.scoring.protocol import (
46
ScoreResponse,
47
)
48
from vllm.entrypoints.serve import create_error_response
49
+from vllm.entrypoints.serve.engine.protocol import (
50
+ ErrorInfo,
51
+ ErrorResponse,
52
+ OpenAIBaseModel,
53
+)
54
from vllm.entrypoints.speech_to_text.transcription.protocol import (
55
TranscriptionRequest,
56
TranscriptionResponse,
vllm/entrypoints/openai/chat_completion/api_router.py
+1
-1
@@ -14,8 +14,8 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
14
ChatCompletionResponse,
15
)
16
from vllm.entrypoints.openai.chat_completion.serving import OpenAIServingChat
17
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
17
from vllm.entrypoints.openai.sse_keep_alive import with_sse_keep_alive
18
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
19
from vllm.entrypoints.serve.utils.api_utils import (
20
load_aware_call,
21
validate_json_request,
vllm/entrypoints/openai/chat_completion/batch_serving.py
+2
-5
@@ -9,6 +9,7 @@ from http import HTTPStatus
9
from fastapi import Request
10
11
from vllm.entrypoints.chat_utils import ConversationMessage
12
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
13
from vllm.entrypoints.openai.chat_completion.protocol import (
14
BatchChatCompletionRequest,
15
ChatCompletionResponse,
@@ -16,11 +17,7 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
17
ChatMessage,
18
)
19
from vllm.entrypoints.openai.chat_completion.serving import OpenAIServingChat
19
-from vllm.entrypoints.openai.engine.protocol import (
20
- ErrorResponse,
21
- RequestResponseMetadata,
22
- UsageInfo,
23
-)
20
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
21
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens
22
from vllm.inputs import EngineInput
23
from vllm.logger import init_logger
vllm/entrypoints/openai/chat_completion/protocol.py
+2
-3
@@ -23,21 +23,20 @@ from vllm.entrypoints.chat_utils import (
23
ChatCompletionMessageParam,
24
ChatTemplateContentFormatOption,
25
)
26
-from vllm.entrypoints.openai.engine.protocol import (
26
+from vllm.entrypoints.generate.base.protocol import (
27
AnyResponseFormat,
28
DeltaMessage,
29
FunctionCall,
30
FunctionDefinition,
31
- OpenAIBaseModel,
31
PerRequestMetrics,
32
StopParam,
33
StreamOptions,
34
ToolCall,
36
- UsageInfo,
35
structured_outputs_from_response_format,
36
validate_structural_tag_response_format,
37
validate_structured_outputs_structural_tag,
38
)
39
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
40
from vllm.exceptions import VLLMValidationError
41
from vllm.logger import init_logger
42
from vllm.logprobs import Logprob
vllm/entrypoints/openai/chat_completion/serving.py
+10
-8
@@ -16,9 +16,15 @@ from vllm.entrypoints.chat_utils import (
16
ConversationMessage,
17
make_tool_call_id,
18
)
19
+from vllm.entrypoints.generate.base.protocol import (
20
+ DeltaMessage,
21
+ FunctionCall,
22
+ PerRequestMetrics,
23
+ RequestResponseMetadata,
24
+ ToolCall,
25
+)
26
from vllm.entrypoints.generate.base.serving import (
27
GenerateBaseServing,
21
- GenerationError,
28
build_per_request_timing_metrics,
29
build_spec_decoding_metrics,
30
clamp_prompt_logprobs,
@@ -36,23 +42,19 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
42
ChatCompletionStreamResponse,
43
ChatMessage,
44
)
39
-from vllm.entrypoints.openai.engine.protocol import (
45
+from vllm.entrypoints.openai.models.serving import OpenAIServingModels
46
+from vllm.entrypoints.serve.engine.protocol import (
47
CompletionTokenUsageInfo,
41
- DeltaMessage,
48
ErrorResponse,
43
- FunctionCall,
44
- PerRequestMetrics,
49
PromptTokenUsageInfo,
46
- RequestResponseMetadata,
47
- ToolCall,
50
UsageInfo,
51
)
50
-from vllm.entrypoints.openai.models.serving import OpenAIServingModels
52
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens, should_include_usage
53
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
54
from vllm.entrypoints.serve.utils.tool_calls_utils import (
55
maybe_filter_parallel_tool_calls,
56
)
57
+from vllm.exceptions import GenerationError
58
from vllm.inputs import EngineInput, MultiModalPlaceholders
59
from vllm.logger import init_logger
60
from vllm.logprobs import Logprob
vllm/entrypoints/openai/completion/api_router.py
+1
-1
@@ -12,8 +12,8 @@ from vllm.entrypoints.openai.completion.protocol import (
12
CompletionResponse,
13
)
14
from vllm.entrypoints.openai.completion.serving import OpenAIServingCompletion
15
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
15
from vllm.entrypoints.openai.sse_keep_alive import with_sse_keep_alive
16
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
17
from vllm.entrypoints.serve.utils.api_utils import (
18
load_aware_call,
19
validate_json_request,
vllm/entrypoints/openai/completion/protocol.py
+2
-3
@@ -10,17 +10,16 @@ from pydantic import Field, model_validator
10
11
import vllm.envs as envs
12
from vllm.config import ModelConfig
13
-from vllm.entrypoints.openai.engine.protocol import (
13
+from vllm.entrypoints.generate.base.protocol import (
14
AnyResponseFormat,
15
- OpenAIBaseModel,
15
PerRequestMetrics,
16
StopParam,
17
StreamOptions,
19
- UsageInfo,
18
structured_outputs_from_response_format,
19
validate_structural_tag_response_format,
20
validate_structured_outputs_structural_tag,
21
)
22
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
23
from vllm.exceptions import VLLMValidationError
24
from vllm.logger import init_logger
25
from vllm.logprobs import Logprob
vllm/entrypoints/openai/completion/serving.py
+7
-6
@@ -10,9 +10,12 @@ from typing import cast
10
from fastapi import Request
11
12
from vllm.engine.protocol import EngineClient
13
+from vllm.entrypoints.generate.base.protocol import (
14
+ PerRequestMetrics,
15
+ RequestResponseMetadata,
16
+)
17
from vllm.entrypoints.generate.base.serving import (
18
GenerateBaseServing,
15
- GenerationError,
19
build_per_request_timing_metrics,
20
build_spec_decoding_metrics,
21
clamp_prompt_logprobs,
@@ -26,17 +29,15 @@ from vllm.entrypoints.openai.completion.protocol import (
29
CompletionResponseStreamChoice,
30
CompletionStreamResponse,
31
)
29
-from vllm.entrypoints.openai.engine.protocol import (
32
+from vllm.entrypoints.openai.models.serving import OpenAIServingModels
33
+from vllm.entrypoints.serve.engine.protocol import (
34
ErrorResponse,
31
- PerRequestMetrics,
35
PromptTokenUsageInfo,
33
- RequestResponseMetadata,
36
UsageInfo,
37
)
36
-from vllm.entrypoints.openai.models.serving import OpenAIServingModels
38
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens, should_include_usage
39
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
39
-from vllm.exceptions import VLLMValidationError
40
+from vllm.exceptions import GenerationError, VLLMValidationError
41
from vllm.inputs import EngineInput
42
from vllm.logger import init_logger
43
from vllm.logprobs import Logprob
vllm/entrypoints/openai/engine/__init__.py
deleted
-2
@@ -1,2 +0,0 @@
1
-# SPDX-License-Identifier: Apache-2.0
2
-# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
vllm/entrypoints/openai/models/serving.py
+3
-3
@@ -7,14 +7,14 @@ from http import HTTPStatus
7
8
from vllm.config import ModelConfig
9
from vllm.engine.protocol import EngineClient
10
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.openai.models.protocol import BaseModelPath, LoRAModulePath
11
+from vllm.entrypoints.serve import create_error_response
12
+from vllm.entrypoints.serve.engine.protocol import (
13
ErrorResponse,
14
ModelCard,
15
ModelList,
16
ModelPermission,
17
)
16
-from vllm.entrypoints.openai.models.protocol import BaseModelPath, LoRAModulePath
17
-from vllm.entrypoints.serve import create_error_response
18
from vllm.entrypoints.serve.lora.protocol import (
19
LoadLoRAAdapterRequest,
20
UnloadLoRAAdapterRequest,
vllm/entrypoints/openai/responses/api_router.py
+1
-1
@@ -8,13 +8,13 @@ from http import HTTPStatus
8
from fastapi import APIRouter, Depends, FastAPI, Request
9
from fastapi.responses import JSONResponse, StreamingResponse
10
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
from vllm.entrypoints.openai.responses.protocol import (
12
ResponsesRequest,
13
ResponsesResponse,
14
StreamingResponsesResponse,
15
)
16
from vllm.entrypoints.openai.responses.serving import OpenAIServingResponses
17
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
18
from vllm.entrypoints.serve.utils.api_utils import (
19
load_aware_call,
20
validate_json_request,
vllm/entrypoints/openai/responses/context.py
+1
-3
@@ -24,11 +24,9 @@ from vllm import envs
24
from vllm.entrypoints.chat_utils import (
25
ChatTemplateContentFormatOption,
26
)
27
+from vllm.entrypoints.generate.base.protocol import FunctionCall
28
from vllm.entrypoints.mcp.tool import Tool
29
from vllm.entrypoints.mcp.tool_server import ToolServer
29
-from vllm.entrypoints.openai.engine.protocol import (
30
- FunctionCall,
31
-)
30
from vllm.entrypoints.openai.parser.harmony_utils import render_for_completion
31
from vllm.entrypoints.openai.responses.protocol import (
32
ResponseInputOutputItem,
vllm/entrypoints/openai/responses/protocol.py
+2
-1
@@ -60,7 +60,8 @@ from vllm.entrypoints.chat_utils import (
60
ChatCompletionMessageParam,
61
ChatTemplateContentFormatOption,
62
)
63
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel, StopParam
63
+from vllm.entrypoints.generate.base.protocol import StopParam
64
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel
65
from vllm.exceptions import VLLMValidationError
66
from vllm.logger import init_logger
67
from vllm.renderers import ChatParams, TokenizeParams, merge_kwargs
vllm/entrypoints/openai/responses/serving.py
+5
-8
@@ -31,16 +31,12 @@ from vllm.entrypoints.chat_utils import (
31
ChatCompletionMessageParam,
32
ChatTemplateContentFormatOption,
33
)
34
-from vllm.entrypoints.generate.base.serving import (
35
- GenerateBaseServing,
36
- GenerationError,
37
-)
38
-from vllm.entrypoints.mcp.tool_server import ToolServer
39
-from vllm.entrypoints.openai.engine.protocol import (
34
+from vllm.entrypoints.generate.base.protocol import (
35
DeltaMessage,
41
- ErrorResponse,
36
RequestResponseMetadata,
37
)
38
+from vllm.entrypoints.generate.base.serving import GenerateBaseServing
39
+from vllm.entrypoints.mcp.tool_server import ToolServer
40
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
41
from vllm.entrypoints.openai.parser.harmony_utils import (
42
build_harmony_preamble,
@@ -89,9 +85,10 @@ from vllm.entrypoints.openai.responses.utils import (
85
extract_function_tool_names,
86
extract_tool_types,
87
)
88
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
89
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens
90
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
94
-from vllm.exceptions import VLLMValidationError
91
+from vllm.exceptions import GenerationError, VLLMValidationError
92
from vllm.inputs import EngineInput, tokens_input
93
from vllm.logger import init_logger
94
from vllm.logprobs import Logprob as SampleLogprob
vllm/entrypoints/openai/responses/streaming_events.py
+1
-1
@@ -61,8 +61,8 @@ from openai.types.responses.response_reasoning_item import (
61
from openai.types.responses.tool import Tool
62
from openai_harmony import Message as HarmonyMessage
63
64
+from vllm.entrypoints.generate.base.protocol import DeltaMessage, DeltaToolCall
65
from vllm.entrypoints.mcp.tool_server import ToolServer
65
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage, DeltaToolCall
66
from vllm.entrypoints.openai.parser.harmony_utils import (
67
extract_function_from_recipient,
68
is_function_recipient,
vllm/entrypoints/openai/responses/utils.py
+1
-1
@@ -31,11 +31,11 @@ from openai.types.responses.tool import Tool
31
32
from vllm import envs
33
from vllm.entrypoints.chat_utils import make_tool_call_id
34
+from vllm.entrypoints.generate.base.protocol import FunctionCall, FunctionDefinition
35
from vllm.entrypoints.openai.chat_completion.protocol import (
36
ChatCompletionMessageParam,
37
ChatCompletionToolsParam,
38
)
38
-from vllm.entrypoints.openai.engine.protocol import FunctionCall, FunctionDefinition
39
from vllm.entrypoints.openai.responses.protocol import ResponseInputOutputItem
40
from vllm.logger import init_logger
41
from vllm.tool_parsers.utils import (
vllm/entrypoints/pooling/base/protocol.py
+1
-1
@@ -11,7 +11,7 @@ from vllm.entrypoints.chat_utils import (
11
ChatCompletionMessageParam,
12
ChatTemplateContentFormatOption,
13
)
14
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel
14
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel
15
from vllm.exceptions import VLLMValidationError
16
from vllm.renderers import ChatParams, TokenizeParams, merge_kwargs
17
from vllm.tasks import check_removed_pooling_task
vllm/entrypoints/pooling/base/serving.py
+1
-1
@@ -16,7 +16,6 @@ from vllm import PoolingRequestOutput, envs
16
from vllm.config import VllmConfig
17
from vllm.engine.protocol import EngineClient
18
from vllm.entrypoints.chat_utils import ChatTemplateConfig
19
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
19
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
20
from vllm.entrypoints.serve.engine.serving import BaseServing
21
from vllm.entrypoints.serve.engine.typing import AnyRequest
@@ -30,6 +29,7 @@ from vllm.tracing import (
29
)
30
from vllm.utils.async_utils import make_async, merge_async_iterators
31
32
+from ...serve.engine.protocol import ErrorResponse
33
from ..typing import AnyPoolingRequest, PoolingServeContext
34
from .io_processor import PoolingIOProcessor
35
vllm/entrypoints/pooling/classify/protocol.py
+1
-1
@@ -7,7 +7,7 @@ from typing import Annotated, TypeAlias
7
from pydantic import BeforeValidator, Field
8
9
from vllm import PoolingParams
10
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel, UsageInfo
10
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
11
from vllm.logger import init_logger
12
from vllm.utils import random_uuid
13
vllm/entrypoints/pooling/classify/serving.py
+1
-1
@@ -6,7 +6,7 @@ from typing import TypeAlias
6
import numpy as np
7
from fastapi.responses import JSONResponse
8
9
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
9
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
10
from vllm.logger import init_logger
11
from vllm.outputs import ClassificationOutput
12
vllm/entrypoints/pooling/embed/api_router.py
+1
-1
@@ -5,7 +5,7 @@ from http import HTTPStatus
5
6
from fastapi import APIRouter, Depends, Request
7
8
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
8
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
9
from vllm.entrypoints.serve.utils.api_utils import (
10
load_aware_call,
11
validate_json_request,
vllm/entrypoints/pooling/embed/protocol.py
+1
-1
@@ -18,7 +18,7 @@ from pydantic import BaseModel, BeforeValidator, Field, model_validator
18
19
from vllm import PoolingParams
20
from vllm.entrypoints.chat_utils import ChatCompletionMessageParam
21
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel, UsageInfo
21
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
22
from vllm.utils import random_uuid
23
24
from ..base.protocol import (
vllm/entrypoints/pooling/pooling/api_router.py
+1
-1
@@ -4,7 +4,7 @@ from http import HTTPStatus
4
5
from fastapi import APIRouter, Depends, Request
6
7
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
7
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
8
from vllm.entrypoints.serve.utils.api_utils import (
9
load_aware_call,
10
validate_json_request,
vllm/entrypoints/pooling/pooling/protocol.py
+1
-1
@@ -7,7 +7,7 @@ from pydantic import BeforeValidator, Field
7
8
from vllm import PoolingParams
9
from vllm.config import ModelConfig
10
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel, UsageInfo
10
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
11
from vllm.renderers import TokenizeParams
12
from vllm.tasks import PoolingTask
13
from vllm.utils import random_uuid
vllm/entrypoints/pooling/scoring/api_router.py
+1
-1
@@ -4,7 +4,7 @@ from http import HTTPStatus
4
5
from fastapi import APIRouter, Depends, Request
6
7
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
7
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
8
from vllm.entrypoints.serve.utils.api_utils import (
9
load_aware_call,
10
validate_json_request,
vllm/entrypoints/pooling/scoring/protocol.py
+1
-1
@@ -7,7 +7,7 @@ from pydantic import BaseModel, Field, model_validator
7
8
from vllm import PoolingParams
9
from vllm.config import ModelConfig
10
-from vllm.entrypoints.openai.engine.protocol import OpenAIBaseModel, UsageInfo
10
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
11
from vllm.renderers import TokenizeParams
12
from vllm.tasks import PoolingTask
13
from vllm.utils import random_uuid
vllm/entrypoints/pooling/scoring/serving.py
+1
-1
@@ -5,7 +5,7 @@ from fastapi.responses import JSONResponse, Response
5
6
from vllm import PoolingParams
7
from vllm.engine.protocol import EngineClient
8
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
8
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
9
from vllm.logger import init_logger
10
from vllm.outputs import PoolingRequestOutput, ScoringRequestOutput
11
from vllm.tasks import SCORE_TYPE_MAP, SupportedTask
vllm/entrypoints/pooling/utils.py
+1
-1
@@ -14,7 +14,7 @@ import torch
14
from fastapi.responses import JSONResponse, StreamingResponse
15
16
from vllm.config import ModelConfig
17
-from vllm.entrypoints.openai.engine.protocol import UsageInfo
17
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
18
from vllm.logger import init_logger
19
from vllm.outputs import PoolingRequestOutput
20
from vllm.tasks import SupportedTask
vllm/entrypoints/scale_out/derender/api_router.py
+1
-1
@@ -5,7 +5,7 @@ from http import HTTPStatus
5
from fastapi import APIRouter, Depends, Request
6
from fastapi.responses import JSONResponse
7
8
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
8
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
9
from vllm.entrypoints.serve.utils.api_utils import validate_json_request
10
from vllm.logger import init_logger
11
vllm/entrypoints/scale_out/derender/serving.py
+1
-4
@@ -12,14 +12,11 @@ from vllm.entrypoints.openai.completion.protocol import (
12
CompletionResponse,
13
CompletionStreamResponse,
14
)
15
-from vllm.entrypoints.openai.engine.protocol import (
16
- ErrorResponse,
17
- UsageInfo,
18
-)
15
from vllm.entrypoints.openai.models.serving import (
16
OpenAIModelRegistry,
17
OpenAIServingModels,
18
)
19
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
20
from vllm.entrypoints.serve.engine.serving import BaseServing
21
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
22
from vllm.inputs import (
vllm/entrypoints/scale_out/render/api_router.py
+1
-1
@@ -8,7 +8,7 @@ from fastapi.responses import JSONResponse
8
from vllm.entrypoints.anthropic.protocol import AnthropicMessagesRequest
9
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
10
from vllm.entrypoints.openai.completion.protocol import CompletionRequest
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
12
from vllm.entrypoints.serve.utils.api_utils import validate_json_request
13
from vllm.logger import init_logger
14
vllm/entrypoints/scale_out/render/serving.py
+1
-1
@@ -6,7 +6,6 @@ from vllm.entrypoints.anthropic.protocol import AnthropicMessagesRequest
6
from vllm.entrypoints.anthropic.serving import AnthropicServingMessages
7
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
8
from vllm.entrypoints.openai.completion.protocol import CompletionRequest
9
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
9
from vllm.entrypoints.openai.models.serving import (
10
OpenAIModelRegistry,
11
OpenAIServingModels,
@@ -17,6 +16,7 @@ from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
16
MultiModalFeatures,
17
PlaceholderRangeInfo,
18
)
19
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
20
from vllm.entrypoints.serve.engine.serving import BaseServing
21
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens
22
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
vllm/entrypoints/scale_out/token_in_token_out/api_router.py
+1
-1
@@ -10,7 +10,6 @@ from fastapi import APIRouter, Depends, FastAPI, HTTPException, Request, Respons
10
from fastapi.responses import JSONResponse, StreamingResponse
11
12
from vllm.engine.protocol import EngineClient
13
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
13
from vllm.entrypoints.serve.tokenize.serving import ServingTokenization
14
from vllm.entrypoints.serve.utils.api_utils import (
15
load_aware_call,
@@ -19,6 +18,7 @@ from vllm.entrypoints.serve.utils.api_utils import (
18
)
19
from vllm.logger import init_logger
20
21
+from ...serve.engine.protocol import ErrorResponse
22
from .protocol import (
23
GenerateRequest,
24
GenerateResponse,
vllm/entrypoints/scale_out/token_in_token_out/protocol.py
+2
-1
@@ -11,6 +11,7 @@ from pydantic import (
11
)
12
13
from vllm.config import ModelConfig
14
+from vllm.entrypoints.generate.base.protocol import StreamOptions
15
from vllm.entrypoints.openai.chat_completion.protocol import (
16
ChatCompletionLogProbs,
17
ChatCompletionRequest,
@@ -20,7 +21,7 @@ from vllm.entrypoints.openai.completion.protocol import (
21
CompletionRequest,
22
CompletionStreamResponse,
23
)
23
-from vllm.entrypoints.openai.engine.protocol import StreamOptions, UsageInfo
24
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
25
from vllm.logprobs import Logprob
26
from vllm.renderers import TokenizeParams
27
from vllm.sampling_params import SamplingParams
vllm/entrypoints/scale_out/token_in_token_out/serving.py
+4
-4
@@ -12,6 +12,7 @@ from fastapi import Request
12
13
from vllm.engine.protocol import EngineClient
14
from vllm.entrypoints.chat_utils import AsyncMultiModalItemTracker
15
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
16
from vllm.entrypoints.generate.base.serving import (
17
GenerateBaseServing,
18
clamp_prompt_logprobs,
@@ -21,16 +22,15 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
22
ChatCompletionLogProbs,
23
ChatCompletionLogProbsContent,
24
)
24
-from vllm.entrypoints.openai.engine.protocol import (
25
+from vllm.entrypoints.openai.models.serving import OpenAIServingModels
26
+from vllm.entrypoints.serve.engine.protocol import (
27
ErrorResponse,
26
- GenerationError,
28
PromptTokenUsageInfo,
28
- RequestResponseMetadata,
29
UsageInfo,
30
)
31
-from vllm.entrypoints.openai.models.serving import OpenAIServingModels
31
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens, should_include_usage
32
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
33
+from vllm.exceptions import GenerationError
34
from vllm.inputs import EngineInput, TokensPrompt, mm_input
35
from vllm.logger import init_logger
36
from vllm.logprobs import Logprob
vllm/entrypoints/serve/elastic_ep/api_router.py
+1
-3
@@ -9,10 +9,8 @@ from fastapi import APIRouter, Depends, FastAPI, HTTPException, Request
9
from fastapi.responses import JSONResponse
10
11
from vllm.engine.protocol import EngineClient
12
-from vllm.entrypoints.openai.engine.protocol import (
13
- ErrorResponse,
14
-)
12
from vllm.entrypoints.serve.elastic_ep.middleware import get_scaling_elastic_ep
13
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
14
from vllm.entrypoints.serve.utils.api_utils import validate_json_request
15
from vllm.logger import init_logger
16
vllm/entrypoints/serve/engine/protocol.py
new
+115
@@ -0,0 +1,115 @@
1
+# SPDX-License-Identifier: Apache-2.0
2
+# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
+
4
+# Adapted from
5
+# https://github.com/lm-sys/FastChat/blob/168ccc29d3f7edc50823016105c024fe2282732a/fastchat/protocol/openai_api_protocol.py
6
+import time
7
+from typing import ClassVar
8
+
9
+from pydantic import (
10
+ BaseModel,
11
+ ConfigDict,
12
+ Field,
13
+ model_validator,
14
+)
15
+
16
+from vllm.logger import init_logger
17
+from vllm.utils import random_uuid
18
+
19
+logger = init_logger(__name__)
20
+
21
+
22
+class OpenAIBaseModel(BaseModel):
23
+ # OpenAI API does allow extra fields
24
+ model_config = ConfigDict(extra="allow")
25
+
26
+ # Cache class field names
27
+ field_names: ClassVar[set[str] | None] = None
28
+
29
+ @model_validator(mode="wrap")
30
+ @classmethod
31
+ def __log_extra_fields__(cls, data, handler):
32
+ result = handler(data)
33
+ if not isinstance(data, dict):
34
+ return result
35
+ field_names = cls.field_names
36
+ if field_names is None:
37
+ # Get all class field names and their potential aliases
38
+ field_names = set()
39
+ for field_name, field in cls.model_fields.items():
40
+ field_names.add(field_name)
41
+ if alias := getattr(field, "alias", None):
42
+ field_names.add(alias)
43
+ cls.field_names = field_names
44
+
45
+ # Compare against both field names and aliases
46
+ if any(k not in field_names for k in data):
47
+ logger.debug(
48
+ "The following fields were present in the request but ignored: %s",
49
+ data.keys() - field_names,
50
+ )
51
+ return result
52
+
53
+
54
+class ErrorInfo(OpenAIBaseModel):
55
+ message: str
56
+ type: str
57
+ param: str | None = None
58
+ code: int
59
+
60
+
61
+class ErrorResponse(OpenAIBaseModel):
62
+ error: ErrorInfo
63
+
64
+
65
+class ModelPermission(OpenAIBaseModel):
66
+ id: str = Field(default_factory=lambda: f"modelperm-{random_uuid()}")
67
+ object: str = "model_permission"
68
+ created: int = Field(default_factory=lambda: int(time.time()))
69
+ allow_create_engine: bool = False
70
+ allow_sampling: bool = True
71
+ allow_logprobs: bool = True
72
+ allow_search_indices: bool = False
73
+ allow_view: bool = True
74
+ allow_fine_tuning: bool = False
75
+ organization: str = "*"
76
+ group: str | None = None
77
+ is_blocking: bool = False
78
+
79
+
80
+class ModelCard(OpenAIBaseModel):
81
+ id: str
82
+ object: str = "model"
83
+ created: int = Field(default_factory=lambda: int(time.time()))
84
+ owned_by: str = "vllm"
85
+ root: str | None = None
86
+ parent: str | None = None
87
+ max_model_len: int | None = None
88
+ permission: list[ModelPermission] = Field(default_factory=list)
89
+
90
+
91
+class ModelList(OpenAIBaseModel):
92
+ object: str = "list"
93
+ data: list[ModelCard] = Field(default_factory=list)
94
+
95
+
96
+class PromptTokenUsageInfo(OpenAIBaseModel):
97
+ cached_tokens: int | None = None
98
+ created_cache_tokens: int | None = None
99
+ multimodal_tokens: dict[str, int] | None = None
100
+ """Prompt tokens contributed by each input modality, keyed by modality name
101
+ (e.g. `image`, `audio`, `video`). A breakdown of the multimodal
102
+ placeholder tokens already counted in `prompt_tokens`; `None` when the
103
+ request has no multimodal input."""
104
+
105
+
106
+class CompletionTokenUsageInfo(OpenAIBaseModel):
107
+ reasoning_tokens: int = 0
108
+
109
+
110
+class UsageInfo(OpenAIBaseModel):
111
+ prompt_tokens: int = 0
112
+ total_tokens: int = 0
113
+ completion_tokens: int | None = 0
114
+ prompt_tokens_details: PromptTokenUsageInfo | None = None
115
+ completion_tokens_details: CompletionTokenUsageInfo | None = None
vllm/entrypoints/serve/engine/serving.py
+1
-1
@@ -6,13 +6,13 @@ from fastapi import Request
6
7
from vllm import PromptType, SamplingParams, envs
8
from vllm.config import ModelConfig
9
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
9
from vllm.entrypoints.openai.models.serving import (
10
OpenAIModelRegistry,
11
OpenAIServingModels,
12
)
13
from vllm.entrypoints.pooling.typing import AnyPoolingRequest
14
from vllm.entrypoints.serve import create_error_response
15
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
16
from vllm.entrypoints.serve.engine.typing import AnyRequest
17
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
18
from vllm.exceptions import VLLMNotFoundError
vllm/entrypoints/serve/exception_handling/error_response.py
+2
-5
@@ -2,13 +2,10 @@
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
from http import HTTPStatus
4
5
-from vllm.entrypoints.openai.engine.protocol import (
6
- ErrorInfo,
7
- ErrorResponse,
8
- GenerationError,
9
-)
5
+from vllm.exceptions import GenerationError
6
from vllm.logger import init_logger
7
8
+from ..engine.protocol import ErrorInfo, ErrorResponse
9
from .utils import sanitize_message
10
11
logger = init_logger(__name__)
vllm/entrypoints/serve/exception_handling/handlers/http.py
+1
-1
@@ -5,7 +5,7 @@ from http import HTTPStatus
5
from fastapi import HTTPException, Request
6
from starlette.responses import JSONResponse
7
8
-from vllm.entrypoints.openai.engine.protocol import ErrorInfo, ErrorResponse
8
+from vllm.entrypoints.serve.engine.protocol import ErrorInfo, ErrorResponse
9
from vllm.logger import init_logger
10
11
from ..utils import sanitize_message
vllm/entrypoints/serve/exception_handling/handlers/validation.py
+1
-1
@@ -8,7 +8,7 @@ from fastapi import Request
8
from fastapi.exceptions import RequestValidationError
9
from starlette.responses import JSONResponse
10
11
-from vllm.entrypoints.openai.engine.protocol import ErrorInfo, ErrorResponse
11
+from vllm.entrypoints.serve.engine.protocol import ErrorInfo, ErrorResponse
12
from vllm.exceptions import VLLMValidationError
13
from vllm.logger import init_logger
14
vllm/entrypoints/serve/exception_handling/handlers/vllm_error.py
+1
-2
@@ -5,8 +5,7 @@ from fastapi import Request
5
from starlette.responses import JSONResponse
6
7
from vllm.entrypoints.launchers.launcher import terminate_if_errored
8
-from vllm.entrypoints.openai.engine.protocol import GenerationError
9
-from vllm.exceptions import VLLMError
8
+from vllm.exceptions import GenerationError, VLLMError
9
from vllm.logger import init_logger
10
from vllm.v1.engine.exceptions import EngineDeadError, EngineGenerateError
11
vllm/entrypoints/serve/fault_tolerance/api_router.py
+1
-1
@@ -8,7 +8,7 @@ from fastapi import APIRouter, BackgroundTasks, Depends, FastAPI, HTTPException,
8
from fastapi.responses import JSONResponse
9
10
from vllm.engine.protocol import EngineClient
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
12
from vllm.entrypoints.serve.utils.api_utils import validate_json_request
13
from vllm.logger import init_logger
14
from vllm.v1.fault_tolerance.utils import FaultToleranceRequest
vllm/entrypoints/serve/lora/api_router.py
+1
-3
@@ -7,11 +7,9 @@ from fastapi import APIRouter, Depends, FastAPI, Request
7
from fastapi.responses import JSONResponse, Response
8
9
from vllm import envs
10
-from vllm.entrypoints.openai.engine.protocol import (
11
- ErrorResponse,
12
-)
10
from vllm.entrypoints.openai.models.api_router import models
11
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
12
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
13
from vllm.entrypoints.serve.lora.protocol import (
14
LoadLoRAAdapterRequest,
15
UnloadLoRAAdapterRequest,
vllm/entrypoints/serve/sagemaker/api_router.py
+1
-1
@@ -12,8 +12,8 @@ from fastapi.responses import JSONResponse, Response
12
13
from vllm.config import ModelConfig
14
from vllm.entrypoints.generate.factories import get_generate_invocation_types
15
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
15
from vllm.entrypoints.pooling.factories import get_pooling_invocation_types
16
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
17
from vllm.entrypoints.serve.engine.serving import BaseServing
18
from vllm.entrypoints.serve.instrumentator.basic import base
19
from vllm.entrypoints.serve.instrumentator.health import health
vllm/entrypoints/serve/tokenize/api_router.py
+1
-1
@@ -8,7 +8,7 @@ from fastapi import APIRouter, Depends, FastAPI, Request
8
from fastapi.responses import JSONResponse
9
from typing_extensions import assert_never
10
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
12
from vllm.entrypoints.serve.tokenize.protocol import (
13
DetokenizeRequest,
14
DetokenizeResponse,
vllm/entrypoints/serve/tokenize/protocol.py
+2
-6
@@ -11,12 +11,8 @@ from vllm.entrypoints.chat_utils import (
11
ChatCompletionMessageParam,
12
ChatTemplateContentFormatOption,
13
)
14
-from vllm.entrypoints.openai.chat_completion.protocol import (
15
- ChatCompletionToolsParam,
16
-)
17
-from vllm.entrypoints.openai.engine.protocol import (
18
- OpenAIBaseModel,
19
-)
14
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionToolsParam
15
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel
16
from vllm.exceptions import VLLMValidationError
17
from vllm.renderers import ChatParams, TokenizeParams, merge_kwargs
18
vllm/entrypoints/serve/tokenize/serving.py
+1
-1
@@ -6,11 +6,11 @@ from typing import Any, Final
6
from fastapi import Request
7
8
from vllm.entrypoints.chat_utils import ChatTemplateContentFormatOption
9
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
9
from vllm.entrypoints.openai.models.serving import (
10
OpenAIModelRegistry,
11
OpenAIServingModels,
12
)
13
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
14
from vllm.entrypoints.serve.engine.serving import BaseServing
15
from vllm.entrypoints.serve.tokenize.protocol import (
16
DetokenizeRequest,
vllm/entrypoints/serve/utils/api_utils.py
+1
-1
@@ -17,7 +17,7 @@ from starlette.background import BackgroundTask, BackgroundTasks
17
18
from vllm import envs
19
from vllm.engine.arg_utils import EngineArgs
20
-from vllm.entrypoints.openai.engine.protocol import StreamOptions
20
+from vllm.entrypoints.generate.base.protocol import StreamOptions
21
from vllm.entrypoints.openai.models.protocol import LoRAModulePath
22
from vllm.logger import current_formatter_type, init_logger
23
from vllm.platforms import current_platform
vllm/entrypoints/speech_to_text/base/serving.py
+3
-4
@@ -16,14 +16,13 @@ from transformers import PreTrainedTokenizerBase
16
17
import vllm.envs as envs
18
from vllm.engine.protocol import EngineClient
19
-from vllm.entrypoints.generate.base.serving import GenerateBaseServing
20
-from vllm.entrypoints.openai.engine.protocol import (
19
+from vllm.entrypoints.generate.base.protocol import (
20
DeltaMessage,
22
- ErrorResponse,
21
RequestResponseMetadata,
24
- UsageInfo,
22
)
23
+from vllm.entrypoints.generate.base.serving import GenerateBaseServing
24
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
25
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
26
from vllm.entrypoints.serve.engine.typing import SpeechToTextRequest
27
from vllm.entrypoints.serve.utils.api_utils import get_max_tokens
28
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
vllm/entrypoints/speech_to_text/realtime/connection.py
+1
-1
@@ -13,7 +13,7 @@ from fastapi import WebSocket
13
from starlette.websockets import WebSocketDisconnect
14
15
from vllm import envs
16
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse, UsageInfo
16
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse, UsageInfo
17
from vllm.entrypoints.serve.exception_handling.utils import sanitize_message
18
from vllm.exceptions import VLLMValidationError
19
from vllm.logger import init_logger
vllm/entrypoints/speech_to_text/realtime/protocol.py
+1
-4
@@ -6,10 +6,7 @@ from typing import Literal
6
7
from pydantic import Field
8
9
-from vllm.entrypoints.openai.engine.protocol import (
10
- OpenAIBaseModel,
11
- UsageInfo,
12
-)
9
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
10
from vllm.utils import random_uuid
11
12
# Client -> Server Events
vllm/entrypoints/speech_to_text/transcription/api_router.py
+1
-1
@@ -8,7 +8,6 @@ from typing import Annotated
8
from fastapi import APIRouter, Form, Request
9
from fastapi.responses import JSONResponse, StreamingResponse
10
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
from vllm.entrypoints.serve.utils.api_utils import (
12
load_aware_call,
13
with_cancellation,
@@ -16,6 +15,7 @@ from vllm.entrypoints.serve.utils.api_utils import (
15
from vllm.entrypoints.speech_to_text.base.utils import read_upload_with_limit
16
from vllm.logger import init_logger
17
18
+from ...serve.engine.protocol import ErrorResponse
19
from .protocol import TranscriptionRequest, TranscriptionResponseVariant
20
from .serving import OpenAIServingTranscription
21
vllm/entrypoints/speech_to_text/transcription/protocol.py
+2
-5
@@ -13,11 +13,8 @@ from pydantic import (
13
)
14
15
from vllm.config.speech_to_text import SpeechToTextParams
16
-from vllm.entrypoints.openai.engine.protocol import (
17
- DeltaMessage,
18
- OpenAIBaseModel,
19
- UsageInfo,
20
-)
16
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
17
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
18
from vllm.exceptions import VLLMValidationError
19
from vllm.logger import init_logger
20
from vllm.sampling_params import (
vllm/entrypoints/speech_to_text/transcription/serving.py
+2
-4
@@ -5,15 +5,13 @@ from collections.abc import AsyncGenerator
5
from fastapi import Request
6
7
from vllm.engine.protocol import EngineClient
8
-from vllm.entrypoints.openai.engine.protocol import (
9
- ErrorResponse,
10
- RequestResponseMetadata,
11
-)
8
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
9
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
10
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
11
from vllm.logger import init_logger
12
from vllm.outputs import RequestOutput
13
14
+from ...serve.engine.protocol import ErrorResponse
15
from ..base.serving import SpeechToTextBaseServing
16
from .protocol import (
17
TranscriptionRequest,
vllm/entrypoints/speech_to_text/translation/api_router.py
+1
-1
@@ -8,7 +8,7 @@ from typing import Annotated
8
from fastapi import APIRouter, Form, Request
9
from fastapi.responses import JSONResponse, StreamingResponse
10
11
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
11
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
12
from vllm.entrypoints.serve.utils.api_utils import (
13
load_aware_call,
14
with_cancellation,
vllm/entrypoints/speech_to_text/translation/protocol.py
+2
-5
@@ -12,11 +12,8 @@ from pydantic import (
12
)
13
14
from vllm.config.speech_to_text import SpeechToTextParams
15
-from vllm.entrypoints.openai.engine.protocol import (
16
- DeltaMessage,
17
- OpenAIBaseModel,
18
- UsageInfo,
19
-)
15
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
16
+from vllm.entrypoints.serve.engine.protocol import OpenAIBaseModel, UsageInfo
17
from vllm.exceptions import VLLMValidationError
18
from vllm.logger import init_logger
19
from vllm.sampling_params import (
vllm/entrypoints/speech_to_text/translation/serving.py
+2
-4
@@ -5,11 +5,9 @@ from collections.abc import AsyncGenerator
5
from fastapi import Request
6
7
from vllm.engine.protocol import EngineClient
8
-from vllm.entrypoints.openai.engine.protocol import (
9
- ErrorResponse,
10
- RequestResponseMetadata,
11
-)
8
+from vllm.entrypoints.generate.base.protocol import RequestResponseMetadata
9
from vllm.entrypoints.openai.models.serving import OpenAIServingModels
10
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
11
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
12
from vllm.logger import init_logger
13
from vllm.outputs import RequestOutput
vllm/exceptions.py
+9
@@ -3,6 +3,7 @@
3
4
"""Custom exceptions for vLLM."""
5
6
+from http import HTTPStatus
7
from typing import Any
8
9
@@ -116,3 +117,11 @@ class VLLMUnprocessableEntityError(VLLMClientError):
117
if self.value is not None:
118
extras.append(f"value={self.value}")
119
return f"{base} ({', '.join(extras)})" if extras else base
120
+
121
+
122
+class GenerationError(VLLMServerError):
123
+ """raised when finish_reason indicates internal server error (500)"""
124
+
125
+ def __init__(self, message: str = "Internal server error"):
126
+ super().__init__(message)
127
+ self.status_code = HTTPStatus.INTERNAL_SERVER_ERROR
vllm/parser/abstract_parser.py
+5
-5
@@ -15,16 +15,16 @@ from vllm.entrypoints.chat_utils import (
15
get_tool_call_id_type,
16
make_tool_call_id,
17
)
18
-from vllm.entrypoints.openai.chat_completion.protocol import (
19
- ChatCompletionNamedToolChoiceParam,
20
- ChatCompletionRequest,
21
-)
22
-from vllm.entrypoints.openai.engine.protocol import (
18
+from vllm.entrypoints.generate.base.protocol import (
19
DeltaMessage,
20
ExtractedToolCallInformation,
21
FunctionCall,
22
FunctionDefinition,
23
)
24
+from vllm.entrypoints.openai.chat_completion.protocol import (
25
+ ChatCompletionNamedToolChoiceParam,
26
+ ChatCompletionRequest,
27
+)
28
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
29
from vllm.logger import init_logger
30
from vllm.parser.metrics import record_tool_parser_invocation
vllm/parser/engine/adapters.py
+4
-4
@@ -19,13 +19,13 @@ from vllm.reasoning.abs_reasoning_parsers import ReasoningParser
19
from vllm.tool_parsers.abstract_tool_parser import ToolParser
20
21
if TYPE_CHECKING:
22
- from vllm.entrypoints.openai.chat_completion.protocol import (
23
- ChatCompletionRequest,
24
- )
25
- from vllm.entrypoints.openai.engine.protocol import (
22
+ from vllm.entrypoints.generate.base.protocol import (
23
DeltaMessage,
24
ExtractedToolCallInformation,
25
)
26
+ from vllm.entrypoints.openai.chat_completion.protocol import (
27
+ ChatCompletionRequest,
28
+ )
29
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
30
from vllm.parser.engine.parser_engine import ParserEngine
31
from vllm.tokenizers import TokenizerLike
vllm/parser/engine/parser_engine.py
+1
-1
@@ -14,7 +14,7 @@ from typing import TYPE_CHECKING
14
import regex as re
15
16
from vllm.entrypoints.chat_utils import get_tool_call_id_type, make_tool_call_id
17
-from vllm.entrypoints.openai.engine.protocol import (
17
+from vllm.entrypoints.generate.base.protocol import (
18
DeltaFunctionCall,
19
DeltaMessage,
20
DeltaToolCall,
vllm/parser/gemma4.py
+1
-1
@@ -17,7 +17,7 @@ import json
17
from collections.abc import Sequence
18
from typing import TYPE_CHECKING
19
20
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
20
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
21
from vllm.logger import init_logger
22
from vllm.parser.engine.events import EventType, SemanticEvent
23
from vllm.parser.engine.parser_engine import ParserEngine
vllm/parser/harmony.py
+4
-4
@@ -27,15 +27,15 @@ from xgrammar.structural_tag import (
27
)
28
29
from vllm.entrypoints.chat_utils import make_tool_call_id
30
-from vllm.entrypoints.openai.chat_completion.protocol import (
31
- ChatCompletionRequest,
32
-)
33
-from vllm.entrypoints.openai.engine.protocol import (
30
+from vllm.entrypoints.generate.base.protocol import (
31
DeltaFunctionCall,
32
DeltaMessage,
33
DeltaToolCall,
34
FunctionCall,
35
)
36
+from vllm.entrypoints.openai.chat_completion.protocol import (
37
+ ChatCompletionRequest,
38
+)
39
from vllm.entrypoints.openai.parser.harmony_utils import (
40
extract_function_from_recipient,
41
get_streamable_parser_for_assistant,
vllm/parser/inkling.py
+1
-3
@@ -29,9 +29,7 @@ import json
29
from collections.abc import Sequence
30
from typing import TYPE_CHECKING
31
32
-from vllm.entrypoints.openai.engine.protocol import (
33
- ExtractedToolCallInformation,
34
-)
32
+from vllm.entrypoints.generate.base.protocol import ExtractedToolCallInformation
33
from vllm.parser.engine.events import EventType
34
from vllm.parser.engine.parser_engine import ParserEngine
35
from vllm.parser.engine.parser_engine_config import (
vllm/parser/kimi_k2.py
+1
-1
@@ -21,7 +21,7 @@ from typing import TYPE_CHECKING
21
22
import regex as re
23
24
-from vllm.entrypoints.openai.engine.protocol import DeltaFunctionCall, DeltaToolCall
24
+from vllm.entrypoints.generate.base.protocol import DeltaFunctionCall, DeltaToolCall
25
from vllm.parser.engine.events import EventType
26
from vllm.parser.engine.parser_engine import ParserEngine
27
from vllm.parser.engine.parser_engine_config import (
vllm/parser/kimi_k3.py
+1
-1
@@ -6,7 +6,7 @@ from __future__ import annotations
6
from collections.abc import Sequence
7
from typing import TYPE_CHECKING
8
9
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaMessage,
11
FunctionCall,
12
)
vllm/parser/mistral.py
+4
-4
@@ -28,10 +28,7 @@ from mistral_common.protocol.instruct.tool_calls import (
28
from mistral_common.tokens.tokenizers.base import SpecialTokens
29
from pydantic import Field
30
31
-from vllm.entrypoints.openai.chat_completion.protocol import (
32
- ChatCompletionNamedToolChoiceParam,
33
-)
34
-from vllm.entrypoints.openai.engine.protocol import (
31
+from vllm.entrypoints.generate.base.protocol import (
32
DeltaFunctionCall,
33
DeltaMessage,
34
DeltaToolCall,
@@ -39,6 +36,9 @@ from vllm.entrypoints.openai.engine.protocol import (
36
FunctionCall,
37
ToolCall,
38
)
39
+from vllm.entrypoints.openai.chat_completion.protocol import (
40
+ ChatCompletionNamedToolChoiceParam,
41
+)
42
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
43
from vllm.logger import init_logger
44
from vllm.parser.engine.events import EventType
vllm/parser/nemotron_v3.py
+1
-1
@@ -19,10 +19,10 @@ from typing import TYPE_CHECKING
19
from vllm.parser.qwen3 import CHATML_TURN_BOUNDARIES, Qwen3Parser, qwen3_config
20
21
if TYPE_CHECKING:
22
+ from vllm.entrypoints.generate.base.protocol import DeltaMessage
23
from vllm.entrypoints.openai.chat_completion.protocol import (
24
ChatCompletionRequest,
25
)
25
- from vllm.entrypoints.openai.engine.protocol import DeltaMessage
26
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
27
from vllm.parser.engine.parser_engine import SemanticEvent
28
from vllm.parser.engine.parser_engine_config import ParserEngineConfig
vllm/reasoning/abs_reasoning_parsers.py
+1
-1
@@ -15,8 +15,8 @@ from vllm.utils.import_utils import import_from_path
15
16
if TYPE_CHECKING:
17
from vllm.config import ModelConfig
18
+ from vllm.entrypoints.generate.base.protocol import DeltaMessage
19
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
19
- from vllm.entrypoints.openai.engine.protocol import DeltaMessage
20
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
21
from vllm.tokenizers import TokenizerLike
22
vllm/reasoning/basic_parsers.py
+1
-1
@@ -6,7 +6,7 @@ from collections.abc import Iterable, Sequence
6
from itertools import islice
7
from typing import TYPE_CHECKING
8
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
from vllm.reasoning.abs_reasoning_parsers import ReasoningParser
11
from vllm.tokenizers import TokenizerLike
12
vllm/reasoning/cohere_command_reasoning_parser.py
+6
-6
@@ -5,7 +5,7 @@ from __future__ import annotations
5
6
import json
7
from collections.abc import Mapping, Sequence
8
-from typing import Any, NamedTuple, TypedDict, TypeGuard
8
+from typing import TYPE_CHECKING, Any, NamedTuple, TypedDict, TypeGuard
9
10
import regex as re
11
import xgrammar as xgr
@@ -25,20 +25,20 @@ from vllm.entrypoints.cohere.cohere_chat_message import (
25
CitationSource,
26
CohereDeltaMessage,
27
)
28
-from vllm.entrypoints.openai.chat_completion.protocol import (
29
- ChatCompletionRequest,
30
-)
31
-from vllm.entrypoints.openai.engine.protocol import (
28
+from vllm.entrypoints.generate.base.protocol import (
29
AnyResponseFormat,
30
DeltaFunctionCall,
31
DeltaMessage,
32
DeltaToolCall,
33
)
37
-from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
34
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
35
from vllm.reasoning import ReasoningParser
36
from vllm.sampling_params import StructuredOutputsParams
37
from vllm.tokenizers import TokenizerLike
38
39
+if TYPE_CHECKING:
40
+ from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
41
+
42
REPLACEMENT_CHAR = "\ufffd"
43
44
vllm/reasoning/deepseek_r1_reasoning_parser.py
+1
-1
@@ -3,7 +3,7 @@
3
4
from collections.abc import Sequence
5
6
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
6
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
7
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
8
9
vllm/reasoning/deepseek_v3_reasoning_parser.py
+1
-1
@@ -12,8 +12,8 @@ from vllm.reasoning.deepseek_r1_reasoning_parser import DeepSeekR1ReasoningParse
12
from .identity_reasoning_parser import IdentityReasoningParser
13
14
if TYPE_CHECKING:
15
+ from vllm.entrypoints.generate.base.protocol import DeltaMessage
16
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
16
- from vllm.entrypoints.openai.engine.protocol import DeltaMessage
17
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
18
19
vllm/reasoning/ernie45_reasoning_parser.py
+1
-1
@@ -6,7 +6,7 @@ from typing import TYPE_CHECKING
6
7
from transformers import PreTrainedTokenizerBase
8
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
11
12
if TYPE_CHECKING:
vllm/reasoning/gptoss_reasoning_parser.py
+1
-1
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING
5
6
from transformers import PreTrainedTokenizerBase
7
8
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
8
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
9
from vllm.reasoning import ReasoningParser
10
11
if TYPE_CHECKING:
vllm/reasoning/granite_reasoning_parser.py
+1
-1
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
7
import regex as re
8
from transformers import PreTrainedTokenizerBase
9
10
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
10
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
11
from vllm.reasoning import ReasoningParser
12
13
if TYPE_CHECKING:
vllm/reasoning/hunyuan_a13b_reasoning_parser.py
+1
-1
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING
7
import regex as re
8
from transformers import PreTrainedTokenizerBase
9
10
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
10
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
11
from vllm.reasoning import ReasoningParser
12
13
if TYPE_CHECKING:
vllm/reasoning/hy_v3_reasoning_parser.py
+6
-5
@@ -2,17 +2,18 @@
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4
from collections.abc import Iterable, Sequence
5
+from typing import TYPE_CHECKING
6
6
-from vllm.entrypoints.openai.chat_completion.protocol import (
7
- ChatCompletionRequest,
8
-)
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
10
-from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
8
from vllm.logger import init_logger
9
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
10
from vllm.reasoning.identity_reasoning_parser import IdentityReasoningParser
11
from vllm.tokenizers import TokenizerLike
12
13
+if TYPE_CHECKING:
14
+ from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
15
+ from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
16
+
17
logger = init_logger(__name__)
18
19
vllm/reasoning/hy_v4_reasoning_parser.py
+6
-4
@@ -4,17 +4,19 @@
4
from __future__ import annotations
5
6
from collections.abc import Iterable, Sequence
7
-from typing import TypedDict
7
+from typing import TYPE_CHECKING, TypedDict
8
9
import regex as re
10
11
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
12
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
13
-from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
11
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
12
from vllm.logger import init_logger
13
from vllm.reasoning import ReasoningParser
14
from vllm.tokenizers import TokenizerLike
15
16
+if TYPE_CHECKING:
17
+ from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
18
+ from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
19
+
20
logger = init_logger(__name__)
21
22
# Must match the chat template's own default for ``reasoning_effort``.
vllm/reasoning/identity_reasoning_parser.py
+1
-1
@@ -6,7 +6,7 @@ from typing import TYPE_CHECKING
6
7
from transformers import PreTrainedTokenizerBase
8
9
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
9
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
10
from vllm.reasoning import ReasoningParser
11
12
if TYPE_CHECKING:
vllm/reasoning/kimi_k3_reasoning_parser.py
+1
-1
@@ -28,7 +28,7 @@ from typing import TYPE_CHECKING
28
import regex as re
29
from transformers import PreTrainedTokenizerBase
30
31
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
31
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
32
from vllm.reasoning import ReasoningParser
33
34
if TYPE_CHECKING:
vllm/reasoning/minimax_m2_reasoning_parser.py
+1
-3
@@ -4,9 +4,7 @@
4
from collections.abc import Sequence
5
from typing import TYPE_CHECKING
6
7
-from vllm.entrypoints.openai.engine.protocol import (
8
- DeltaMessage,
9
-)
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
8
from vllm.parser.engine.registered_adapters import MinimaxM2ParserReasoningAdapter
9
from vllm.reasoning.abs_reasoning_parsers import ReasoningParser
10
from vllm.tokenizers import TokenizerLike
vllm/reasoning/minimax_m3_reasoning_parser.py
+1
-1
@@ -4,7 +4,7 @@
4
from collections.abc import Iterable, Sequence
5
from typing import TYPE_CHECKING
6
7
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
8
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
9
10
if TYPE_CHECKING:
vllm/reasoning/muse_glimmer_reasoning_parser.py
+1
-1
@@ -19,8 +19,8 @@ from collections.abc import Iterable, Sequence
19
20
import regex as re
21
22
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
23
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
23
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
24
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
25
from vllm.reasoning.abs_reasoning_parsers import ReasoningParser
26
vllm/reasoning/olmo3_reasoning_parser.py
+1
-1
@@ -8,7 +8,7 @@ from typing import TYPE_CHECKING
8
9
import regex as re
10
11
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
11
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
12
from vllm.reasoning import ReasoningParser
13
14
if TYPE_CHECKING:
vllm/reasoning/step3_reasoning_parser.py
+1
-1
@@ -8,7 +8,7 @@ from typing import TYPE_CHECKING
8
import regex as re
9
from transformers import PreTrainedTokenizerBase
10
11
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
11
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
12
from vllm.reasoning import ReasoningParser
13
14
if TYPE_CHECKING:
vllm/reasoning/step3p5_reasoning_parser.py
+1
-1
@@ -4,7 +4,7 @@
4
from collections.abc import Iterable, Sequence
5
from typing import TYPE_CHECKING
6
7
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage
8
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
9
from vllm.tokenizers import TokenizerLike
10
vllm/renderers/online_derenderer.py
+2
-1
@@ -4,6 +4,7 @@ from typing import Any
4
5
from vllm.config import ModelConfig
6
from vllm.entrypoints.chat_utils import ChatTemplateContentFormatOption
7
+from vllm.entrypoints.generate.base.protocol import DeltaMessage, ToolCall
8
from vllm.entrypoints.generate.base.serving import resolve_token_id_placeholder
9
from vllm.entrypoints.openai.chat_completion.protocol import (
10
ChatCompletionLogProbs,
@@ -21,12 +22,12 @@ from vllm.entrypoints.openai.completion.protocol import (
22
CompletionResponseStreamChoice,
23
CompletionStreamResponse,
24
)
24
-from vllm.entrypoints.openai.engine.protocol import DeltaMessage, ToolCall, UsageInfo
25
from vllm.entrypoints.scale_out.token_in_token_out.protocol import (
26
DerenderStreamState,
27
GenerateResponse,
28
GenerateStreamResponse,
29
)
30
+from vllm.entrypoints.serve.engine.protocol import UsageInfo
31
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
32
from vllm.logger import init_logger
33
from vllm.parser import Parser, ParserManager
vllm/renderers/online_renderer.py
+1
-1
@@ -18,7 +18,6 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
18
from vllm.entrypoints.openai.completion.protocol import (
19
CompletionRequest,
20
)
21
-from vllm.entrypoints.openai.engine.protocol import ErrorResponse
21
from vllm.entrypoints.openai.parser.harmony_utils import (
22
build_harmony_preamble,
23
extract_instructions_from_messages,
@@ -27,6 +26,7 @@ from vllm.entrypoints.openai.parser.harmony_utils import (
26
)
27
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
28
from vllm.entrypoints.serve import create_error_response
29
+from vllm.entrypoints.serve.engine.protocol import ErrorResponse
30
from vllm.entrypoints.serve.utils.request_logger import RequestLogger
31
from vllm.inputs import (
32
EngineInput,
vllm/tool_parsers/abstract_tool_parser.py
+4
-4
@@ -15,14 +15,14 @@ from openai.types.responses import (
15
from openai.types.responses.function_tool import FunctionTool
16
17
import vllm.envs as envs
18
+from vllm.entrypoints.generate.base.protocol import (
19
+ DeltaMessage,
20
+ ExtractedToolCallInformation,
21
+)
22
from vllm.entrypoints.openai.chat_completion.protocol import (
23
ChatCompletionRequest,
24
ChatCompletionToolsParam,
25
)
22
-from vllm.entrypoints.openai.engine.protocol import (
23
- DeltaMessage,
24
- ExtractedToolCallInformation,
25
-)
26
from vllm.entrypoints.openai.responses.protocol import (
27
ResponsesRequest,
28
)
vllm/tool_parsers/apertus_tool_parser.py
+2
-2
@@ -16,8 +16,7 @@ import regex as re
16
from partial_json_parser.core.options import Allow
17
18
from vllm.entrypoints.chat_utils import make_tool_call_id
19
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
20
-from vllm.entrypoints.openai.engine.protocol import (
19
+from vllm.entrypoints.generate.base.protocol import (
20
DeltaFunctionCall,
21
DeltaMessage,
22
DeltaToolCall,
@@ -25,6 +24,7 @@ from vllm.entrypoints.openai.engine.protocol import (
24
FunctionCall,
25
ToolCall,
26
)
27
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
28
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
29
from vllm.logger import init_logger
30
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/cohere_command_tool_parser.py
+4
-4
@@ -12,10 +12,7 @@ except ImportError as e:
12
" pip install 'cohere-melody>=0.11.1'"
13
) from e
14
15
-from vllm.entrypoints.openai.chat_completion.protocol import (
16
- ChatCompletionRequest,
17
-)
18
-from vllm.entrypoints.openai.engine.protocol import (
15
+from vllm.entrypoints.generate.base.protocol import (
16
DeltaFunctionCall,
17
DeltaMessage,
18
DeltaToolCall,
@@ -23,6 +20,9 @@ from vllm.entrypoints.openai.engine.protocol import (
20
FunctionCall,
21
ToolCall,
22
)
23
+from vllm.entrypoints.openai.chat_completion.protocol import (
24
+ ChatCompletionRequest,
25
+)
26
from vllm.entrypoints.openai.responses.protocol import (
27
ResponsesRequest,
28
)
vllm/tool_parsers/deepseekv31_tool_parser.py
+4
-4
@@ -6,10 +6,7 @@ from collections.abc import Sequence
6
import regex as re
7
8
from vllm.entrypoints.chat_utils import make_tool_call_id
9
-from vllm.entrypoints.openai.chat_completion.protocol import (
10
- ChatCompletionRequest,
11
-)
12
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaFunctionCall,
11
DeltaMessage,
12
DeltaToolCall,
@@ -17,6 +14,9 @@ from vllm.entrypoints.openai.engine.protocol import (
14
FunctionCall,
15
ToolCall,
16
)
17
+from vllm.entrypoints.openai.chat_completion.protocol import (
18
+ ChatCompletionRequest,
19
+)
20
from vllm.logger import init_logger
21
from vllm.tokenizers import TokenizerLike
22
from vllm.tool_parsers.abstract_tool_parser import Tool, ToolParser
vllm/tool_parsers/deepseekv3_tool_parser.py
+4
-4
@@ -6,10 +6,7 @@ from collections.abc import Sequence
6
import regex as re
7
8
from vllm.entrypoints.chat_utils import make_tool_call_id
9
-from vllm.entrypoints.openai.chat_completion.protocol import (
10
- ChatCompletionRequest,
11
-)
12
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaFunctionCall,
11
DeltaMessage,
12
DeltaToolCall,
@@ -17,6 +14,9 @@ from vllm.entrypoints.openai.engine.protocol import (
14
FunctionCall,
15
ToolCall,
16
)
17
+from vllm.entrypoints.openai.chat_completion.protocol import (
18
+ ChatCompletionRequest,
19
+)
20
from vllm.logger import init_logger
21
from vllm.tokenizers import TokenizerLike
22
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/dots_tool_parser.py
+5
-5
@@ -8,11 +8,7 @@ from typing import Any
8
import regex as re
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
- ChatCompletionToolsParam,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -20,6 +16,10 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+ ChatCompletionToolsParam,
22
+)
23
from vllm.logger import init_logger
24
from vllm.tokenizers import TokenizerLike
25
from vllm.tool_parsers.abstract_tool_parser import Tool, ToolParser
vllm/tool_parsers/ernie45_tool_parser.py
+4
-4
@@ -6,10 +6,7 @@ from collections.abc import Sequence
6
7
import regex as re
8
9
-from vllm.entrypoints.openai.chat_completion.protocol import (
10
- ChatCompletionRequest,
11
-)
12
-from vllm.entrypoints.openai.engine.protocol import (
9
+from vllm.entrypoints.generate.base.protocol import (
10
DeltaFunctionCall,
11
DeltaMessage,
12
DeltaToolCall,
@@ -17,6 +14,9 @@ from vllm.entrypoints.openai.engine.protocol import (
14
FunctionCall,
15
ToolCall,
16
)
17
+from vllm.entrypoints.openai.chat_completion.protocol import (
18
+ ChatCompletionRequest,
19
+)
20
from vllm.logger import init_logger
21
from vllm.tokenizers import TokenizerLike
22
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/functiongemma_tool_parser.py
+4
-4
@@ -7,10 +7,7 @@ from collections.abc import Sequence
7
import regex as re
8
9
from vllm.entrypoints.chat_utils import make_tool_call_id
10
-from vllm.entrypoints.openai.chat_completion.protocol import (
11
- ChatCompletionRequest,
12
-)
13
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.generate.base.protocol import (
11
DeltaFunctionCall,
12
DeltaMessage,
13
DeltaToolCall,
@@ -18,6 +15,9 @@ from vllm.entrypoints.openai.engine.protocol import (
15
FunctionCall,
16
ToolCall,
17
)
18
+from vllm.entrypoints.openai.chat_completion.protocol import (
19
+ ChatCompletionRequest,
20
+)
21
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/gigachat3_tool_parser.py
+4
-4
@@ -7,10 +7,7 @@ from collections.abc import Sequence
7
import regex as re
8
9
from vllm.entrypoints.chat_utils import make_tool_call_id
10
-from vllm.entrypoints.openai.chat_completion.protocol import (
11
- ChatCompletionRequest,
12
-)
13
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.generate.base.protocol import (
11
DeltaFunctionCall,
12
DeltaMessage,
13
DeltaToolCall,
@@ -18,6 +15,9 @@ from vllm.entrypoints.openai.engine.protocol import (
15
FunctionCall,
16
ToolCall,
17
)
18
+from vllm.entrypoints.openai.chat_completion.protocol import (
19
+ ChatCompletionRequest,
20
+)
21
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/gptoss_tool_parser.py
+1
-1
@@ -4,7 +4,7 @@
4
from collections.abc import Sequence
5
from typing import TYPE_CHECKING
6
7
-from vllm.entrypoints.openai.engine.protocol import (
7
+from vllm.entrypoints.generate.base.protocol import (
8
DeltaMessage,
9
ExtractedToolCallInformation,
10
)
vllm/tool_parsers/granite4_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ from typing import Any, Protocol, TypeVar
8
import regex as re
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
23
from vllm.logger import init_logger
24
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/granite_20b_fc_tool_parser.py
+4
-4
@@ -10,10 +10,7 @@ import regex as re
10
from partial_json_parser.core.options import Allow
11
12
from vllm.entrypoints.chat_utils import make_tool_call_id
13
-from vllm.entrypoints.openai.chat_completion.protocol import (
14
- ChatCompletionRequest,
15
-)
16
-from vllm.entrypoints.openai.engine.protocol import (
13
+from vllm.entrypoints.generate.base.protocol import (
14
DeltaFunctionCall,
15
DeltaMessage,
16
DeltaToolCall,
@@ -21,6 +18,9 @@ from vllm.entrypoints.openai.engine.protocol import (
18
FunctionCall,
19
ToolCall,
20
)
21
+from vllm.entrypoints.openai.chat_completion.protocol import (
22
+ ChatCompletionRequest,
23
+)
24
from vllm.logger import init_logger
25
from vllm.tokenizers import TokenizerLike
26
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/granite_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ import partial_json_parser
8
from partial_json_parser.core.options import Allow
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
24
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/hermes_tool_parser.py
+4
-4
@@ -7,10 +7,7 @@ from collections.abc import Sequence
7
import regex as re
8
9
from vllm.entrypoints.chat_utils import make_tool_call_id
10
-from vllm.entrypoints.openai.chat_completion.protocol import (
11
- ChatCompletionRequest,
12
-)
13
-from vllm.entrypoints.openai.engine.protocol import (
10
+from vllm.entrypoints.generate.base.protocol import (
11
DeltaFunctionCall,
12
DeltaMessage,
13
DeltaToolCall,
@@ -18,6 +15,9 @@ from vllm.entrypoints.openai.engine.protocol import (
15
FunctionCall,
16
ToolCall,
17
)
18
+from vllm.entrypoints.openai.chat_completion.protocol import (
19
+ ChatCompletionRequest,
20
+)
21
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/hunyuan_a13b_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ from typing import Any
8
9
import regex as re
10
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
24
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/hy_v3_tool_parser.py
+5
-5
@@ -8,11 +8,7 @@ from typing import Any
8
import regex as re
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
- ChatCompletionToolsParam,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -20,6 +16,10 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+ ChatCompletionToolsParam,
22
+)
23
from vllm.logger import init_logger
24
from vllm.tokenizers import TokenizerLike
25
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/hy_v4_tool_parser.py
+2
-2
@@ -12,8 +12,7 @@ import regex as re
12
13
import vllm.envs as envs
14
from vllm.entrypoints.chat_utils import make_tool_call_id
15
-from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
16
-from vllm.entrypoints.openai.engine.protocol import (
15
+from vllm.entrypoints.generate.base.protocol import (
16
DeltaFunctionCall,
17
DeltaMessage,
18
DeltaToolCall,
@@ -21,6 +20,7 @@ from vllm.entrypoints.openai.engine.protocol import (
20
FunctionCall,
21
ToolCall,
22
)
23
+from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
24
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
25
from vllm.logger import init_logger
26
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/internlm2_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ import partial_json_parser
8
from partial_json_parser.core.options import Allow
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
23
from vllm.logger import init_logger
24
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/jamba_tool_parser.py
+4
-4
@@ -9,10 +9,7 @@ import regex as re
9
from partial_json_parser.core.options import Allow
10
11
from vllm.entrypoints.chat_utils import make_tool_call_id
12
-from vllm.entrypoints.openai.chat_completion.protocol import (
13
- ChatCompletionRequest,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
12
+from vllm.entrypoints.generate.base.protocol import (
13
DeltaFunctionCall,
14
DeltaMessage,
15
DeltaToolCall,
@@ -20,6 +17,9 @@ from vllm.entrypoints.openai.engine.protocol import (
17
FunctionCall,
18
ToolCall,
19
)
20
+from vllm.entrypoints.openai.chat_completion.protocol import (
21
+ ChatCompletionRequest,
22
+)
23
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
24
from vllm.logger import init_logger
25
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/kimi_k3_tool_parser.py
+5
-5
@@ -37,11 +37,7 @@ from collections.abc import Sequence
37
import regex as re
38
from openai.types.responses import ToolChoiceFunction
39
40
-from vllm.entrypoints.openai.chat_completion.protocol import (
41
- ChatCompletionNamedToolChoiceParam,
42
- ChatCompletionRequest,
43
-)
44
-from vllm.entrypoints.openai.engine.protocol import (
40
+from vllm.entrypoints.generate.base.protocol import (
41
DeltaFunctionCall,
42
DeltaMessage,
43
DeltaToolCall,
@@ -49,6 +45,10 @@ from vllm.entrypoints.openai.engine.protocol import (
45
FunctionCall,
46
ToolCall,
47
)
48
+from vllm.entrypoints.openai.chat_completion.protocol import (
49
+ ChatCompletionNamedToolChoiceParam,
50
+ ChatCompletionRequest,
51
+)
52
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
53
from vllm.exceptions import VLLMValidationError
54
from vllm.logger import init_logger
vllm/tool_parsers/lfm2_tool_parser.py
+4
-4
@@ -8,13 +8,13 @@ from collections.abc import Sequence
8
import regex as re
9
10
import vllm.envs as envs
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaMessage,
13
ExtractedToolCallInformation,
14
)
15
+from vllm.entrypoints.openai.chat_completion.protocol import (
16
+ ChatCompletionRequest,
17
+)
18
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
19
from vllm.logger import init_logger
20
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/llama4_pythonic_tool_parser.py
+4
-4
@@ -8,13 +8,13 @@ import regex as re
8
from transformers import PreTrainedTokenizerBase
9
10
import vllm.envs as envs
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaMessage,
13
ExtractedToolCallInformation,
14
)
15
+from vllm.entrypoints.openai.chat_completion.protocol import (
16
+ ChatCompletionRequest,
17
+)
18
from vllm.logger import init_logger
19
from vllm.tool_parsers.abstract_tool_parser import (
20
Tool,
vllm/tool_parsers/llama_tool_parser.py
+4
-4
@@ -11,10 +11,7 @@ from transformers import PreTrainedTokenizerBase
11
12
import vllm.envs as envs
13
from vllm.entrypoints.chat_utils import make_tool_call_id
14
-from vllm.entrypoints.openai.chat_completion.protocol import (
15
- ChatCompletionRequest,
16
-)
17
-from vllm.entrypoints.openai.engine.protocol import (
14
+from vllm.entrypoints.generate.base.protocol import (
15
DeltaFunctionCall,
16
DeltaMessage,
17
DeltaToolCall,
@@ -22,6 +19,9 @@ from vllm.entrypoints.openai.engine.protocol import (
19
FunctionCall,
20
ToolCall,
21
)
22
+from vllm.entrypoints.openai.chat_completion.protocol import (
23
+ ChatCompletionRequest,
24
+)
25
from vllm.logger import init_logger
26
from vllm.tool_parsers.abstract_tool_parser import (
27
Tool,
vllm/tool_parsers/minicpm5xml_tool_parser.py
+5
-5
@@ -8,11 +8,7 @@ from typing import Any
8
import regex as re
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
- ChatCompletionToolsParam,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -20,6 +16,10 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+ ChatCompletionToolsParam,
22
+)
23
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
24
from vllm.logger import init_logger
25
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/muse_glimmer_tool_parser.py
+5
-5
@@ -42,11 +42,7 @@ from openai.types.responses import ToolChoiceFunction
42
from transformers import PreTrainedTokenizerBase
43
44
from vllm.entrypoints.chat_utils import make_tool_call_id
45
-from vllm.entrypoints.openai.chat_completion.protocol import (
46
- ChatCompletionNamedToolChoiceParam,
47
- ChatCompletionRequest,
48
-)
49
-from vllm.entrypoints.openai.engine.protocol import (
45
+from vllm.entrypoints.generate.base.protocol import (
46
DeltaFunctionCall,
47
DeltaMessage,
48
DeltaToolCall,
@@ -54,6 +50,10 @@ from vllm.entrypoints.openai.engine.protocol import (
50
FunctionCall,
51
ToolCall,
52
)
53
+from vllm.entrypoints.openai.chat_completion.protocol import (
54
+ ChatCompletionNamedToolChoiceParam,
55
+ ChatCompletionRequest,
56
+)
57
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
58
from vllm.logger import init_logger
59
from vllm.tool_parsers.abstract_tool_parser import (
vllm/tool_parsers/olmo3_tool_parser.py
+4
-4
@@ -8,13 +8,13 @@ import regex as re
8
from transformers import PreTrainedTokenizerBase
9
10
import vllm.envs as envs
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaMessage,
13
ExtractedToolCallInformation,
14
)
15
+from vllm.entrypoints.openai.chat_completion.protocol import (
16
+ ChatCompletionRequest,
17
+)
18
from vllm.logger import init_logger
19
from vllm.tool_parsers.abstract_tool_parser import (
20
Tool,
vllm/tool_parsers/phi4mini_tool_parser.py
+4
-4
@@ -9,15 +9,15 @@ import regex as re
9
from transformers import PreTrainedTokenizerBase
10
11
from vllm.entrypoints.chat_utils import make_tool_call_id
12
-from vllm.entrypoints.openai.chat_completion.protocol import (
13
- ChatCompletionRequest,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
12
+from vllm.entrypoints.generate.base.protocol import (
13
DeltaMessage,
14
ExtractedToolCallInformation,
15
FunctionCall,
16
ToolCall,
17
)
18
+from vllm.entrypoints.openai.chat_completion.protocol import (
19
+ ChatCompletionRequest,
20
+)
21
from vllm.logger import init_logger
22
from vllm.tool_parsers.abstract_tool_parser import (
23
Tool,
vllm/tool_parsers/poolside_v1_tool_parser.py
+5
-5
@@ -21,11 +21,7 @@ from openai.types.responses import ToolChoiceFunction
21
from partial_json_parser.core.options import Allow
22
23
from vllm.entrypoints.chat_utils import make_tool_call_id
24
-from vllm.entrypoints.openai.chat_completion.protocol import (
25
- ChatCompletionNamedToolChoiceParam,
26
- ChatCompletionRequest,
27
-)
28
-from vllm.entrypoints.openai.engine.protocol import (
24
+from vllm.entrypoints.generate.base.protocol import (
25
DeltaFunctionCall,
26
DeltaMessage,
27
DeltaToolCall,
@@ -33,6 +29,10 @@ from vllm.entrypoints.openai.engine.protocol import (
29
FunctionCall,
30
ToolCall,
31
)
32
+from vllm.entrypoints.openai.chat_completion.protocol import (
33
+ ChatCompletionNamedToolChoiceParam,
34
+ ChatCompletionRequest,
35
+)
36
from vllm.entrypoints.openai.responses.protocol import (
37
ResponsesRequest,
38
)
vllm/tool_parsers/pythonic_tool_parser.py
+4
-4
@@ -8,13 +8,13 @@ import regex as re
8
from transformers import PreTrainedTokenizerBase
9
10
import vllm.envs as envs
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaMessage,
13
ExtractedToolCallInformation,
14
)
15
+from vllm.entrypoints.openai.chat_completion.protocol import (
16
+ ChatCompletionRequest,
17
+)
18
from vllm.logger import init_logger
19
from vllm.tool_parsers.abstract_tool_parser import (
20
Tool,
vllm/tool_parsers/rust_tool_parser.py
+5
-5
@@ -8,11 +8,7 @@ from typing import Any
8
from openai.types.responses.function_tool import FunctionTool
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
- ChatCompletionToolsParam,
14
-)
15
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -20,6 +16,10 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+ ChatCompletionToolsParam,
22
+)
23
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
24
from vllm.logger import init_logger
25
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/step3_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ from typing import Any
8
9
import regex as re
10
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.entrypoints.openai.responses.protocol import ResponsesRequest
23
from vllm.logger import init_logger
24
from vllm.tokenizers import TokenizerLike
vllm/tool_parsers/step3p5_tool_parser.py
+4
-4
@@ -8,10 +8,7 @@ from xml.parsers.expat import ParserCreate
8
import regex as re
9
10
from vllm.entrypoints.chat_utils import make_tool_call_id
11
-from vllm.entrypoints.openai.chat_completion.protocol import (
12
- ChatCompletionRequest,
13
-)
14
-from vllm.entrypoints.openai.engine.protocol import (
11
+from vllm.entrypoints.generate.base.protocol import (
12
DeltaFunctionCall,
13
DeltaMessage,
14
DeltaToolCall,
@@ -19,6 +16,9 @@ from vllm.entrypoints.openai.engine.protocol import (
16
FunctionCall,
17
ToolCall,
18
)
19
+from vllm.entrypoints.openai.chat_completion.protocol import (
20
+ ChatCompletionRequest,
21
+)
22
from vllm.logger import init_logger
23
from vllm.tokenizers import TokenizerLike
24
from vllm.tool_parsers.abstract_tool_parser import Tool, ToolParser
vllm/tool_parsers/streaming.py
+1
-1
@@ -9,7 +9,7 @@ import regex as re
9
from partial_json_parser.core.options import Allow
10
11
from vllm.entrypoints.chat_utils import make_tool_call_id
12
-from vllm.entrypoints.openai.engine.protocol import (
12
+from vllm.entrypoints.generate.base.protocol import (
13
DeltaFunctionCall,
14
DeltaMessage,
15
DeltaToolCall,
vllm/tool_parsers/utils.py
+5
-5
@@ -19,16 +19,16 @@ from openai.types.responses import (
19
from openai.types.responses.tool import Tool as ResponsesTool
20
from partial_json_parser.core.options import Allow
21
22
-from vllm.entrypoints.openai.chat_completion.protocol import (
23
- ChatCompletionNamedToolChoiceParam,
24
- ChatCompletionToolsParam,
25
-)
26
-from vllm.entrypoints.openai.engine.protocol import (
22
+from vllm.entrypoints.generate.base.protocol import (
23
DeltaFunctionCall,
24
DeltaToolCall,
25
FunctionCall,
26
ToolCall,
27
)
28
+from vllm.entrypoints.openai.chat_completion.protocol import (
29
+ ChatCompletionNamedToolChoiceParam,
30
+ ChatCompletionToolsParam,
31
+)
32
from vllm.logger import init_logger
33
34
Tool: TypeAlias = ChatCompletionToolsParam | ResponsesTool
vllm/tool_parsers/xlam_tool_parser.py
+1
-1
@@ -11,7 +11,7 @@ from vllm.entrypoints.openai.chat_completion.protocol import (
11
ChatCompletionRequest,
12
)
13
from vllm.entrypoints.chat_utils import make_tool_call_id
14
-from vllm.entrypoints.openai.engine.protocol import (
14
+from vllm.entrypoints.generate.base.protocol import (
15
DeltaFunctionCall,
16
DeltaMessage,
17
DeltaToolCall,