import torchfrom transformers import AutoModelForVision2Seq, AutoProcessor, BitsAndBytesConfigfrom PIL import Image # Configure 4-bit loadingquantization_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.float16, bnb_4bit_use_double_quant=True) # Load modelmodel = AutoModelForVision2Seq.from_pretrained( "orgessnk/olmOCR-2-7B-1025-BNB-4bit", quantization_config=quantization_config, device_map="auto", trust_remote_code=True) processor = AutoProcessor.from_pretrained( "orgessnk/olmOCR-2-7B-1025-BNB-4bit", trust_remote_code=True) # Perform OCRimage = Image.open("document.jpg")messages = [ { "role": "user", "content": [ {"type": "image", "image": image}, {"type": "text", "text": "Extract all text from this image."} ] }] text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)from qwen_vl_utils import process_vision_infoimage_inputs, video_inputs = process_vision_info(messages) inputs = processor( text=[text], images=image_inputs, videos=video_inputs, padding=True, return_tensors="pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens=512)result = processor.batch_decode(outputs, skip_special_tokens=True)[0]print(result)