CoolFace
Apppublic

ArchCoder/llm-excel-plotter-agent

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
image_verifier.py35 linesDownload Raw Back to root
1from PIL import Image2import torch3from transformers import CLIPProcessor, CLIPModel4import os5import logging6import time7from dotenv import load_dotenv8 9load_dotenv()10 11class ImageVerifier:12    def __init__(self):13        logging.info("Initializing ImageVerifier")14        self.model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")15        self.processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")16 17    def verify(self, image_path, query):18        start_time = time.time()19        logging.info(f"Verifying image {image_path} with query: {query}")20        21        full_image_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), image_path)22        23        image = Image.open(full_image_path)24        25        inputs = self.processor(text=[query], images=image, return_tensors="pt", padding=True)26        outputs = self.model(**inputs)27        logits_per_image = outputs.logits_per_image  28        probs = logits_per_image.softmax(dim=1)  29        30        verification_result = probs.argmax().item() == 0  31        end_time = time.time()32        33        logging.info(f"Image verification result: {verification_result} in {end_time - start_time} seconds")34        return verification_result35