A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 11, 12:30 UTC
[Chore] Adjust tokenizer import to avoid circular imports (#30601)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
Cyrus Leung committed
Dec 13, 2025 at 20:42 UTC
64251f48df0ed16fb67f12ece26ab6c7ea730e74
23 files changed
+40
-31
benchmarks/backend_request_func.py
+1
-1
@@ -620,7 +620,7 @@ def get_tokenizer(
620
kwargs["use_fast"] = False
621
if tokenizer_mode == "mistral":
622
try:
623
- from vllm.tokenizers import MistralTokenizer
623
+ from vllm.tokenizers.mistral import MistralTokenizer
624
except ImportError as e:
625
raise ImportError(
626
"MistralTokenizer requires vllm package.\n"
tests/entrypoints/openai/test_serving_engine.py
+1
-1
@@ -10,7 +10,7 @@ import pytest
10
from vllm.config import ModelConfig
11
from vllm.entrypoints.openai.serving_engine import OpenAIServing
12
from vllm.entrypoints.openai.serving_models import OpenAIServingModels
13
-from vllm.tokenizers import MistralTokenizer
13
+from vllm.tokenizers.mistral import MistralTokenizer
14
15
16
@pytest.fixture()
tests/entrypoints/test_chat_utils.py
+2
-1
@@ -29,7 +29,8 @@ from vllm.multimodal.utils import (
29
encode_image_base64,
30
encode_video_base64,
31
)
32
-from vllm.tokenizers import MistralTokenizer, get_tokenizer
32
+from vllm.tokenizers import get_tokenizer
33
+from vllm.tokenizers.mistral import MistralTokenizer
34
from vllm.utils.serial_utils import tensor2base64
35
36
from ..models.registry import HF_EXAMPLE_MODELS
tests/models/language/generation/test_mistral.py
+1
-1
@@ -10,7 +10,7 @@ from vllm.entrypoints.openai.tool_parsers.mistral_tool_parser import (
10
MistralToolParser,
11
)
12
from vllm.sampling_params import SamplingParams
13
-from vllm.tokenizers import MistralTokenizer
13
+from vllm.tokenizers.mistral import MistralTokenizer
14
15
from ...utils import check_logprobs_close
16
tests/models/multimodal/generation/test_voxtral.py
+1
-1
@@ -9,7 +9,7 @@ from mistral_common.audio import Audio
9
from mistral_common.protocol.instruct.chunk import AudioChunk, RawAudio, TextChunk
10
from mistral_common.protocol.instruct.messages import UserMessage
11
12
-from vllm.tokenizers import MistralTokenizer
12
+from vllm.tokenizers.mistral import MistralTokenizer
13
14
from ....conftest import AudioTestAssets
15
from ....utils import RemoteOpenAIServer
tests/models/multimodal/processing/test_common.py
+2
-5
@@ -22,11 +22,8 @@ from vllm.multimodal import MULTIMODAL_REGISTRY, MultiModalDataDict
22
from vllm.multimodal.cache import MultiModalProcessorOnlyCache
23
from vllm.multimodal.inputs import MultiModalInputs, batched_tensors_equal
24
from vllm.multimodal.processing import BaseMultiModalProcessor, InputProcessingContext
25
-from vllm.tokenizers import (
26
- MistralTokenizer,
27
- TokenizerLike,
28
- cached_tokenizer_from_config,
29
-)
25
+from vllm.tokenizers import TokenizerLike, cached_tokenizer_from_config
26
+from vllm.tokenizers.mistral import MistralTokenizer
27
28
from ....multimodal.utils import random_audio, random_image, random_video
29
from ...registry import (
tests/reasoning/test_mistral_reasoning_parser.py
+1
-1
@@ -5,7 +5,7 @@ import pytest
5
6
from tests.reasoning.utils import run_reasoning_extraction_mistral
7
from vllm.reasoning import ReasoningParser, ReasoningParserManager
8
-from vllm.tokenizers import MistralTokenizer
8
+from vllm.tokenizers.mistral import MistralTokenizer
9
10
parser_name = "mistral"
11
tests/reasoning/utils.py
+1
-1
@@ -4,7 +4,7 @@
4
5
from vllm.entrypoints.openai.protocol import ChatCompletionRequest, DeltaMessage
6
from vllm.reasoning import ReasoningParser
7
-from vllm.tokenizers import MistralTokenizer
7
+from vllm.tokenizers.mistral import MistralTokenizer
8
9
10
class StreamingReasoningReconstructor:
tests/tokenizers_/test_detokenize.py
+1
-1
@@ -8,7 +8,7 @@ import pytest
8
from transformers import AutoTokenizer, PreTrainedTokenizer, PreTrainedTokenizerFast
9
10
from vllm.sampling_params import SamplingParams
11
-from vllm.tokenizers import MistralTokenizer
11
+from vllm.tokenizers.mistral import MistralTokenizer
12
from vllm.v1.engine import EngineCoreRequest
13
from vllm.v1.engine.detokenizer import (
14
FastIncrementalDetokenizer,
tests/tool_use/test_mistral_tool_parser.py
+2
-5
@@ -13,12 +13,9 @@ from partial_json_parser.core.options import Allow
13
14
from vllm.entrypoints.openai.protocol import DeltaMessage, DeltaToolCall
15
from vllm.entrypoints.openai.tool_parsers.mistral_tool_parser import MistralToolParser
16
-from vllm.tokenizers import (
17
- MistralTokenizer,
18
- TokenizerLike,
19
- get_tokenizer,
20
-)
16
+from vllm.tokenizers import TokenizerLike, get_tokenizer
17
from vllm.tokenizers.detokenizer_utils import detokenize_incrementally
18
+from vllm.tokenizers.mistral import MistralTokenizer
19
20
21
@pytest.fixture(scope="module")
vllm/entrypoints/chat_utils.py
+2
-1
@@ -49,7 +49,8 @@ from vllm.logger import init_logger
49
from vllm.model_executor.models import SupportsMultiModal
50
from vllm.multimodal import MULTIMODAL_REGISTRY, MultiModalDataDict, MultiModalUUIDDict
51
from vllm.multimodal.utils import MEDIA_CONNECTOR_REGISTRY, MediaConnector
52
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
52
+from vllm.tokenizers import TokenizerLike
53
+from vllm.tokenizers.mistral import MistralTokenizer
54
from vllm.transformers_utils.chat_templates import get_chat_template_fallback_path
55
from vllm.transformers_utils.processor import cached_get_processor
56
from vllm.utils import random_uuid
vllm/entrypoints/llm.py
+2
-1
@@ -72,7 +72,8 @@ from vllm.platforms import current_platform
72
from vllm.pooling_params import PoolingParams
73
from vllm.sampling_params import BeamSearchParams, RequestOutputKind, SamplingParams
74
from vllm.tasks import PoolingTask
75
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
75
+from vllm.tokenizers import TokenizerLike
76
+from vllm.tokenizers.mistral import MistralTokenizer
77
from vllm.usage.usage_lib import UsageContext
78
from vllm.utils.collection_utils import as_iter, is_list_of
79
from vllm.utils.counter import Counter
vllm/entrypoints/openai/serving_engine.py
+3
-1
@@ -117,7 +117,9 @@ from vllm.outputs import CompletionOutput, PoolingRequestOutput, RequestOutput
117
from vllm.pooling_params import PoolingParams
118
from vllm.reasoning import ReasoningParser, ReasoningParserManager
119
from vllm.sampling_params import BeamSearchParams, SamplingParams
120
-from vllm.tokenizers import DeepseekV32Tokenizer, MistralTokenizer, TokenizerLike
120
+from vllm.tokenizers import TokenizerLike
121
+from vllm.tokenizers.deepseekv32 import DeepseekV32Tokenizer
122
+from vllm.tokenizers.mistral import MistralTokenizer
123
from vllm.tracing import (
124
contains_trace_headers,
125
extract_trace_headers,
vllm/entrypoints/openai/tool_parsers/hermes_tool_parser.py
+2
-1
@@ -22,7 +22,8 @@ from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
22
ToolParser,
23
)
24
from vllm.logger import init_logger
25
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
25
+from vllm.tokenizers import TokenizerLike
26
+from vllm.tokenizers.mistral import MistralTokenizer
27
28
logger = init_logger(__name__)
29
vllm/entrypoints/openai/tool_parsers/jamba_tool_parser.py
+2
-1
@@ -21,7 +21,8 @@ from vllm.entrypoints.openai.protocol import (
21
from vllm.entrypoints.openai.tool_parsers import ToolParser
22
from vllm.entrypoints.openai.tool_parsers.utils import extract_intermediate_diff
23
from vllm.logger import init_logger
24
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
24
+from vllm.tokenizers import TokenizerLike
25
+from vllm.tokenizers.mistral import MistralTokenizer
26
27
logger = init_logger(__name__)
28
vllm/entrypoints/openai/tool_parsers/mistral_tool_parser.py
+4
-1
@@ -6,6 +6,7 @@ from collections.abc import Sequence
6
from enum import Enum, auto
7
from random import choices
8
from string import ascii_letters, digits
9
+from typing import Any
10
11
import ijson
12
import regex as re
@@ -24,7 +25,8 @@ from vllm.entrypoints.openai.tool_parsers.abstract_tool_parser import (
25
ToolParser,
26
)
27
from vllm.logger import init_logger
27
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
28
+from vllm.tokenizers import TokenizerLike
29
+from vllm.tokenizers.mistral import MistralTokenizer
30
31
logger = init_logger(__name__)
32
@@ -84,6 +86,7 @@ class MistralToolParser(ToolParser):
86
87
# initialize properties used for state when parsing tool calls in
88
# streaming mode
89
+ self.prev_tool_call_arr: list[dict[str, Any]] = []
90
self.current_tool_id: int = -1
91
self.streaming_state: StreamingState = StreamingState.WAITING_FOR_TOOL_START
92
vllm/entrypoints/pooling/score/serving.py
+2
-1
@@ -38,7 +38,8 @@ from vllm.inputs.data import TokensPrompt
38
from vllm.logger import init_logger
39
from vllm.lora.request import LoRARequest
40
from vllm.outputs import PoolingRequestOutput, ScoringRequestOutput
41
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
41
+from vllm.tokenizers import TokenizerLike
42
+from vllm.tokenizers.mistral import MistralTokenizer
43
from vllm.utils.async_utils import make_async, merge_async_iterators
44
45
logger = init_logger(__name__)
vllm/entrypoints/utils.py
+1
-1
@@ -30,7 +30,7 @@ from vllm.entrypoints.openai.protocol import (
30
from vllm.entrypoints.openai.serving_models import LoRAModulePath
31
from vllm.logger import init_logger
32
from vllm.platforms import current_platform
33
-from vllm.tokenizers import MistralTokenizer
33
+from vllm.tokenizers.mistral import MistralTokenizer
34
from vllm.utils.argparse_utils import FlexibleArgumentParser
35
36
logger = init_logger(__name__)
vllm/model_executor/models/pixtral.py
+2
-1
@@ -59,7 +59,8 @@ from vllm.multimodal.processing import (
59
from vllm.multimodal.profiling import BaseDummyInputsBuilder, ProcessorInputs
60
from vllm.platforms import current_platform
61
from vllm.sequence import IntermediateTensors
62
-from vllm.tokenizers import MistralTokenizer, cached_tokenizer_from_config
62
+from vllm.tokenizers import cached_tokenizer_from_config
63
+from vllm.tokenizers.mistral import MistralTokenizer
64
from vllm.utils.tensor_schema import TensorSchema, TensorShape
65
66
from .interfaces import MultiModalEmbeddings, SupportsMultiModal, SupportsPP
vllm/model_executor/models/voxtral.py
+2
-1
@@ -51,7 +51,8 @@ from vllm.multimodal.processing import (
51
)
52
from vllm.multimodal.profiling import BaseDummyInputsBuilder, ProcessorInputs
53
from vllm.sequence import IntermediateTensors
54
-from vllm.tokenizers import MistralTokenizer, cached_tokenizer_from_config
54
+from vllm.tokenizers import cached_tokenizer_from_config
55
+from vllm.tokenizers.mistral import MistralTokenizer
56
57
from .interfaces import SupportsLoRA, SupportsMultiModal, SupportsTranscription
58
from .utils import init_vllm_registered_model, maybe_prefix
vllm/reasoning/mistral_reasoning_parser.py
+1
-1
@@ -10,7 +10,7 @@ from vllm.entrypoints.openai.protocol import (
10
from vllm.logger import init_logger
11
from vllm.reasoning import ReasoningParser
12
from vllm.reasoning.basic_parsers import BaseThinkingReasoningParser
13
-from vllm.tokenizers import MistralTokenizer
13
+from vllm.tokenizers.mistral import MistralTokenizer
14
15
logger = init_logger(__name__)
16
vllm/v1/engine/input_processor.py
+2
-1
@@ -19,7 +19,8 @@ from vllm.multimodal.processing import EncDecMultiModalProcessor
19
from vllm.multimodal.utils import argsort_mm_positions
20
from vllm.pooling_params import PoolingParams
21
from vllm.sampling_params import SamplingParams
22
-from vllm.tokenizers import MistralTokenizer, TokenizerLike
22
+from vllm.tokenizers import TokenizerLike
23
+from vllm.tokenizers.mistral import MistralTokenizer
24
from vllm.utils import length_from_prompt_token_ids_or_embeds
25
from vllm.v1.engine import EngineCoreRequest
26
from vllm.v1.metrics.stats import MultiModalCacheStats
vllm/v1/structured_output/backend_xgrammar.py
+2
-1
@@ -10,7 +10,8 @@ import torch
10
import vllm.envs
11
from vllm.logger import init_logger
12
from vllm.sampling_params import SamplingParams
13
-from vllm.tokenizers import DeepseekV32Tokenizer, MistralTokenizer
13
+from vllm.tokenizers.deepseekv32 import DeepseekV32Tokenizer
14
+from vllm.tokenizers.mistral import MistralTokenizer
15
from vllm.utils.import_utils import LazyLoader
16
from vllm.v1.structured_output.backend_types import (
17
StructuredOutputBackend,