import runpod | |
import base64 | |
from io import BytesIO | |
from PIL import Image | |
from pipeline import generate | |
def decode_to_image_obj(base64_string): | |
return Image.open(BytesIO(base64.b64decode(base64_string))) | |
def process_input(input): | |
""" | |
Execute the application code | |
""" | |
max_new_tokens = input['max_new_tokens'] | |
category = input['category'] | |
base64_string = input['image'] | |
image = decode_to_image_obj(base64_string) | |
result = generate(decode_to_image_obj(image), category, max_new_tokens) | |
result = "This is a placeholder result." | |
return { | |
"result": result | |
} | |
# ---------------------------------------------------------------------------- # | |
# RunPod Handler # | |
# ---------------------------------------------------------------------------- # | |
def handler(event): | |
""" | |
This is the handler function that will be called by RunPod serverless. | |
""" | |
return process_input(event['input']) | |
if __name__ == '__main__': | |
print("Starting RunPod serverless worker.") | |
runpod.serverless.start({'handler': handler}) | |