Spaces:
Sleeping
Sleeping
from smolagents import Tool | |
from huggingface_hub import InferenceClient | |
from PIL import Image | |
import requests | |
from io import BytesIO | |
class ImageCaptioningTool(Tool): | |
description = "Cet outil génère une légende descriptive pour une image donnée." | |
name = "image_captioner" | |
inputs = {"image_url": {"type": "string", "description": "URL de l'image à décrire."}} | |
output_type = "string" | |
model_id = "Salesforce/blip-image-captioning-large" | |
client = InferenceClient(model_id) | |
def forward(self, image_url): | |
response = requests.get(image_url) | |
if response.status_code == 200: | |
image = Image.open(BytesIO(response.content)) | |
return self.client.image_to_text(image) | |
else: | |
return f"Erreur lors du téléchargement de l'image : {response.status_code}" |