gatilin's picture
Extract pinned native components; verify source bytes, strict loading and native encode/decode interfaces
95c892c verified
Raw History Blame Contribute Delete
1.14 kB
"""Weather processor (placeholder).
The bio modalities use a per-modality processor to turn raw inputs into
encoder tensors. Weather is different: the ``ERA5QwenVLDataset`` (in
``mkb/modalities/weather/data/era5_dataset.py``) directly emits all
encoder tensors plus the chat-template placeholder. This file exists
only so that ``BaseProcessor``-style callers — if any — see a concrete
class for the modality.
"""
from __future__ import annotations
from typing import Any, Dict, Optional, Tuple
class WeatherProcessor:
"""No-op processor; the dataset class does the real work."""
modality_name = "weather"
def process_input(self, raw_input: Any, **kwargs) -> Dict[str, Any]:
raise NotImplementedError(
"Weather inputs come straight from ERA5QwenVLDataset; the dataset "
"produces encoder-ready tensors directly."
)
def build_placeholder(
self, raw_input: Any, is_output: bool = False, **kwargs,
) -> Tuple[str, Optional[Any]]:
raise NotImplementedError(
"Use the chat-template helper in mkb/modalities/weather/data/era5_dataset.py."
)