Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import AutoImageProcessor, AutoModel | |
import torch | |
from PIL import Image | |
import base64 | |
import io | |
processor = AutoImageProcessor.from_pretrained("facebook/dinov2-base") | |
model = AutoModel.from_pretrained("facebook/dinov2-base") | |
def get_embedding(base64_str): | |
header, encoded = base64_str.split(",", 1) | |
image_data = base64.b64decode(encoded) | |
image = Image.open(io.BytesIO(image_data)).convert("RGB") | |
inputs = processor(images=image, return_tensors="pt") | |
with torch.no_grad(): | |
embeddings = model(**inputs).last_hidden_state[:, 0] | |
return embeddings.squeeze().tolist() | |
iface = gr.Interface( | |
fn=get_embedding, | |
inputs="text", # ahora recibimos un string base64 | |
outputs="json", | |
description="Microservicio para extraer embeddings desde base64." | |
) | |
iface.queue() # 👈 Esta línea activa el sistema de event_id y polling | |
iface.launch() | |