import requests from utils import img2base64 class ProcessorAdapter: def __init__(self, name, base_url, headers, payload): self.name = name self.base_url = base_url self.headers = headers self.payload = payload def get_ai_response(self, image_path: str): resp = requests.get(self.base_url, headers=self.headers, data=self.payload) data = resp.json() return data class MoondreamOnlineAdapter(ProcessorAdapter): def __init__(self, api_key): self.name = "Moondream Online" self.base_url = "https://api.moondream.ai/v1/caption" self.api_key = api_key self.headers = { "X-Moondream-Auth": self.api_key, "Content-Type": "application/json", } super().__init__(self.name, self.base_url, self.headers, self.payload) def get_ai_response(self, image_path: str): encoded_image = img2base64(image_path) self.payload = { "image_url": encoded_image, "question": """Delegated Task: {task}\n\nreturn json data: { "user_productive": bool, "screenshot_description": str }""", } return super().get_ai_response(encoded_image)