sayakpaul's picture
sayakpaul HF staff
Update utils.py
137f702 verified
import typing_extensions as typing
from PIL import Image
import io
from google.genai import types
class Score(typing.TypedDict):
score: float
explanation: str
class Grading(typing.TypedDict):
accuracy_to_prompt: Score
creativity_and_originality: Score
visual_quality_and_realism: Score
consistency_and_cohesion: Score
emotional_or_thematic_resonance: Score
overall_score: Score
def convert_to_bytes(image: Image.Image) -> bytes:
image_bytes_io = io.BytesIO()
image.save(image_bytes_io, format="PNG")
return image_bytes_io.getvalue()
def prepare_inputs(prompt: str, image: Image.Image):
"""Prepare inputs for the API from a given prompt and image."""
inputs = [
types.Part.from_text(text=prompt),
types.Part.from_bytes(data=convert_to_bytes(image), mime_type="image/png"),
]
return inputs
def load_verifier_prompt():
"""Loads the system prompt for Gemini when it acts as a verifier to grade images."""
with open("verifier_prompt.txt", "r") as f:
verifier_prompt = f.read().replace('"""', "")
return verifier_prompt