mistral_common.protocol.instruct.validator
MistralRequestValidator(mode=ValidationMode.test)
Bases: Generic[UserMessageType, AssistantMessageType, ToolMessageType, SystemMessageType]
Validator for Mistral requests.
This class validates the structure and content of Mistral requests.
Examples:
>>> from mistral_common.protocol.instruct.messages import UserMessage, AssistantMessage
>>> validator = MistralRequestValidator()
>>> messages = [UserMessage(content="Hello how are you ?")]
>>> validator.validate_messages(messages, False)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mode
|
ValidationMode
|
The validation mode. Defaults to ValidationMode.test. |
test
|
Source code in src/mistral_common/protocol/instruct/validator.py
validate_messages(messages, continue_final_message)
Validates the list of messages.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
messages
|
list[UATS]
|
The list of messages to validate. |
required |
continue_final_message
|
bool
|
Whether to continue the final message. |
required |
Examples:
>>> from mistral_common.protocol.instruct.messages import UserMessage, AssistantMessage
>>> validator = MistralRequestValidator()
>>> messages = [AssistantMessage(content="Hi"), UserMessage(content="Hello")]
>>> validator.validate_messages(messages, False)
Source code in src/mistral_common/protocol/instruct/validator.py
validate_request(request)
Validates the request
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
ChatCompletionRequest
|
The request to validate. |
required |
Returns:
| Type | Description |
|---|---|
ChatCompletionRequest[UATS]
|
The validated request. |
Examples:
>>> from mistral_common.protocol.instruct.messages import UserMessage
>>> validator = MistralRequestValidator()
>>> request = ChatCompletionRequest(messages=[UserMessage(content="Hello")])
>>> validated_request = validator.validate_request(request)
Source code in src/mistral_common/protocol/instruct/validator.py
MistralRequestValidatorV13(mode=ValidationMode.test)
Bases: MistralRequestValidatorV5
Validator for v13 Mistral requests.
This validator extends v5 functionality by: - Adding stricter tool call ID validation: they should be distinct and called. - Allowing system prompts with audio chunks
Source code in src/mistral_common/protocol/instruct/validator.py
MistralRequestValidatorV3(mode=ValidationMode.test)
Bases: MistralRequestValidator
Validator for v3 Mistral requests.
This validator adds additional validation for tool call IDs.
Examples:
Source code in src/mistral_common/protocol/instruct/validator.py
MistralRequestValidatorV5(mode=ValidationMode.test)
Bases: MistralRequestValidatorV3
Validator for v5 Mistral requests.
This validator allows for both tool calls and content in the assistant message.
Note
For requests containing audio, this validator ensures that no system prompt is present.
Examples: