Spaces:
Sleeping
Sleeping
from PIL import Image | |
from io import BytesIO | |
import requests | |
from transformers import pipeline | |
class ImageOCRService: | |
def __init__(self): | |
self.pipe = pipeline("image-text-to-text", model="ds4sd/SmolDocling-256M-preview") | |
def extract_text(self, image_url: str) -> str: | |
response = requests.get(image_url) | |
image = Image.open(BytesIO(response.content)).convert("RGB") | |
result = self.pipe([{ | |
"role": "user", | |
"content": [ | |
{"type": "image", "image": image}, | |
{"type": "text", "text": "extract text from image"} | |
] | |
}]) | |
return result[0]['generated_text'][1]['content'] if result else "" | |