File size: 690 Bytes
7cdc7d0 fe70438 7cdc7d0 fe70438 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
from typing import Any, List, Literal, NewType, TypedDict, Union
from .type_utils import register_type
Text = NewType("Text", str)
Number = NewType("Number", Union[float, int])
class Turn(TypedDict):
role: Literal["system", "user", "agent"]
content: Text
Dialog = NewType("Dialog", List[Turn])
class Image(TypedDict):
image: Any
format: str
Video = NewType("Video", List[Image])
class Audio(TypedDict):
audio: Any
class Table(TypedDict):
header: List[str]
rows: List[List[Any]]
register_type(Text)
register_type(Number)
register_type(Turn)
register_type(Dialog)
register_type(Table)
register_type(Audio)
register_type(Image)
register_type(Video)
|