Voxtral VLLM Plugin

Plugin implementation for Mistral Voxtral transcription through vLLM server

source

VLLMServer

 VLLMServer (model:str='mistralai/Voxtral-Mini-3B-2507', port:int=8000,
             host:str='0.0.0.0', gpu_memory_utilization:float=0.85,
             log_level:str='INFO', capture_logs:bool=True, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

Type Default Details
model str mistralai/Voxtral-Mini-3B-2507
port int 8000
host str 0.0.0.0
gpu_memory_utilization float 0.85
log_level str INFO DEBUG, INFO, WARNING, ERROR
capture_logs bool True
kwargs VAR_KEYWORD

source

VoxtralVLLMPlugin

 VoxtralVLLMPlugin ()

Mistral Voxtral transcription plugin via vLLM server.


source

VoxtralVLLMPlugin.execute_stream

 VoxtralVLLMPlugin.execute_stream (audio:Union[cjm_transcription_plugin_sy
                                   stem.core.AudioData,str,pathlib.Path],
                                   **kwargs)

*Stream transcription results chunk by chunk.

Args: audio: Audio data or path to audio file **kwargs: Additional plugin-specific parameters

Yields: str: Partial transcription text chunks as they become available

Returns: TranscriptionResult: Final complete transcription with metadata*

Type Details
audio Union Audio data or path to audio file
kwargs VAR_KEYWORD
Returns Generator Yields text chunks, returns final result

source

VoxtralVLLMPlugin.supports_streaming

 VoxtralVLLMPlugin.supports_streaming ()

Check if this plugin supports streaming transcription.

Testing the Plugin

# Test basic functionality
plugin = VoxtralVLLMPlugin()

# Check availability
print(f"Voxtral VLLM available: {plugin.is_available()}")
print(f"Plugin name: {plugin.name}")
print(f"Plugin version: {plugin.version}")
print(f"Supported formats: {plugin.supported_formats}")
print(f"Supports streaming: {plugin.supports_streaming()}")
Voxtral VLLM available: True
Plugin name: voxtral_vllm
Plugin version: 1.0.0
Supported formats: ['wav', 'mp3', 'flac', 'm4a', 'ogg', 'webm', 'mp4', 'avi', 'mov']
Supports streaming: True
# Test configuration schema
schema = plugin.get_config_schema()
print("Available models:")
for model in schema["properties"]["model_id"]["enum"]:
    print(f"  - {model}")
print(f"\nServer modes: {schema['properties']['server_mode']['enum']}")
Available models:
  - mistralai/Voxtral-Mini-3B-2507
  - mistralai/Voxtral-Small-24B-2507

Server modes: ['managed', 'external']
# Test configuration validation
test_configs = [
    ({"model_id": "mistralai/Voxtral-Mini-3B-2507"}, "Valid config"),
    ({"model_id": "invalid_model"}, "Invalid model"),
    ({"server_port": 9000}, "Valid port change"),
    ({"temperature": 2.5}, "Temperature out of range"),
]

for config, description in test_configs:
    is_valid, error = plugin.validate_config(config)
    print(f"{description}: Valid={is_valid}")
    if error:
        print(f"  Error: {error[:100]}")
Valid config: Valid=True
Invalid model: Valid=False
  Error: 'invalid_model' is not one of ['mistralai/Voxtral-Mini-3B-2507', 'mistralai/Voxtral-Small-24B-2507']
Valid port change: Valid=False
  Error: 'model_id' is a required property

Failed validating 'required' in schema:
    {'$schema': 'http://j
Temperature out of range: Valid=False
  Error: 'model_id' is a required property

Failed validating 'required' in schema:
    {'$schema': 'http://j
# Test initialization with external server mode
plugin.initialize({
    "model_id": "mistralai/Voxtral-Mini-3B-2507",
    "server_mode": "external",
    "server_url": "http://localhost:8000"
})
print(f"Current config mode: {plugin.get_current_config()['server_mode']}")
print(f"Current model: {plugin.get_current_config()['model_id']}")
Current config mode: external
Current model: mistralai/Voxtral-Mini-3B-2507