Views
No views yet
1from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
2from qwen_vl_utils import process_vision_info
3from PIL import Image
4import torch
5
6model = Qwen2VLForConditionalGeneration.from_pretrained(
7 "FatimahEmadEldin/Waraqon-v3-Arabic-OCR-HTML-Qari",
8 torch_dtype=torch.float16,
9 device_map="auto",
10 trust_remote_code=True
11)
12processor = AutoProcessor.from_pretrained("FatimahEmadEldin/Waraqon-v3-Arabic-OCR-HTML-Qari", trust_remote_code=True)
13
14image = Image.open("arabic_text.jpg")
15messages = [{
16 "role": "user",
17 "content": [
18 {"type": "image", "image": image},
19 {"type": "text", "text": "استخرج النص من هذه الصورة بتنسيق HTML"}
20 ]
21}]
22
23text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24image_inputs, video_inputs = process_vision_info(messages)
25inputs = processor(text=[text], images=image_inputs, videos=video_inputs,
26 padding=True, return_tensors="pt").to(model.device)
27
28with torch.no_grad():
29 output_ids = model.generate(**inputs, max_new_tokens=2048)
30
31generated_ids = [output_ids[len(input_ids):]
32 for input_ids, output_ids in zip(inputs.input_ids, output_ids)]
33output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
34print(output)