feat: Add screenshot processing adapters

This commit is contained in:
2026-03-07 12:30:32 +05:30
parent 8715ebafe8
commit e6c3eec5bb
7 changed files with 1340 additions and 2 deletions

42
processors.py Normal file
View File

@@ -0,0 +1,42 @@
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)