import enum from typing import Any from pydantic import BaseModel class PromptMessageFileType(enum.Enum): IMAGE = 'image' @staticmethod def value_of(value): for member in PromptMessageFileType: if member.value == value: return member raise ValueError(f"No matching enum found for value '{value}'") class PromptMessageFile(BaseModel): type: PromptMessageFileType data: Any = None class ImagePromptMessageFile(PromptMessageFile): class DETAIL(enum.Enum): LOW = 'low' HIGH = 'high' type: PromptMessageFileType = PromptMessageFileType.IMAGE detail: DETAIL = DETAIL.LOW