The OpenAI endpoint doesn't support function strict setting

Yes, even if vLLM’s OpenAIBaseModel allows extra fields, Mistral models run with --tokenizer-mode mistral use their own message parsing logic that forbids extra fields in nested objects. This is enforced by the Mistral tokenizer’s dependency on mistral-common, which sets extra = "forbid" in its Pydantic base model.

Relevant vLLM code and explanation:

  • In vLLM, when you use --tokenizer-mode mistral, message parsing for Mistral models is delegated to the mistral-common library.
  • The relevant code is in mistral_common/base.py, which sets extra = "forbid" in the Pydantic model config.
  • vLLM’s own code references this behavior in PR #10463:

    “Mistral models ran with --tokenizer-mode mistral use mistral-common for parsing the messages, and they forbid extra params on their side: see here

Summary:
Even if vLLM is patched to allow extra fields, Mistral models with --tokenizer-mode mistral will still reject extra fields in nested objects due to the strict validation in mistral-common. This cannot be overridden from vLLM alone.

Sources: