Spaces:
Sleeping
Sleeping
| # external imports | |
| from transformers import pipeline | |
| from huggingface_hub import InferenceClient | |
| # local imports | |
| import config | |
| class Blip_Image_Caption_Large: | |
| def __init__(self): | |
| pass | |
| def caption_image(self, image_path, use_local_caption): | |
| if use_local_caption: | |
| return self.caption_image_local_pipeline(image_path) | |
| else: | |
| return self.caption_image_api(image_path) | |
| def caption_image_local_pipeline(self, image_path): | |
| self.local_pipeline = pipeline("image-to-text", model=config.IMAGE_CAPTION_MODEL) | |
| result = self.local_pipeline(image_path)[0]['generated_text'] | |
| return result | |
| def caption_image_api(self, image_path): | |
| client = InferenceClient(config.IMAGE_CAPTION_MODEL, token=config.HF_API_TOKEN) | |
| try: | |
| result = client.image_to_text(image_path).generated_text | |
| except Exception as e: | |
| result = f"Error: {e}" | |
| return result |