message_entities.py 666 B

1234567891011121314151617181920212223242526272829
  1. import enum
  2. from typing import Any
  3. from pydantic import BaseModel
  4. class PromptMessageFileType(enum.Enum):
  5. IMAGE = 'image'
  6. @staticmethod
  7. def value_of(value):
  8. for member in PromptMessageFileType:
  9. if member.value == value:
  10. return member
  11. raise ValueError(f"No matching enum found for value '{value}'")
  12. class PromptMessageFile(BaseModel):
  13. type: PromptMessageFileType
  14. data: Any = None
  15. class ImagePromptMessageFile(PromptMessageFile):
  16. class DETAIL(enum.Enum):
  17. LOW = 'low'
  18. HIGH = 'high'
  19. type: PromptMessageFileType = PromptMessageFileType.IMAGE
  20. detail: DETAIL = DETAIL.LOW