Files
wydt/processors.py

43 lines
1.2 KiB
Python

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)