import torch from unsloth import FastVisionModel from transformers import AutoProcessor import config def load_vision_model(): """ Loads the FastVisionModel and its adapter for inference. Returns: A tuple containing the loaded model and processor, or (None, None) on error. """ try: model, processor = FastVisionModel.from_pretrained( model_name=config.VISION_MODEL_NAME, max_seq_length=config.MAX_SEQ_LENGTH, load_in_4bit=True, dtype=None, ) FastVisionModel.for_inference(model) model.load_adapter(config.ADAPTER_PATH) print(f"✅ Vision model and adapter '{config.ADAPTER_PATH}' loaded successfully!") return model, processor except Exception as e: print(f"❌ CRITICAL ERROR during vision model loading: {e}") return None, None