First attempt at making openai stuff pretty. As it uses replies instead of completions, update of openai library is required.
This commit is contained in:
parent
bfe22e40ee
commit
247e4417f5
@ -1,7 +1,7 @@
|
|||||||
from dataclasses import dataclass, field, fields
|
from dataclasses import dataclass, field, fields
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class Content:
|
class Content:
|
||||||
type: str = field(init=False, default='')
|
type: str = field(init=False, default='')
|
||||||
|
|
||||||
@ -30,19 +30,19 @@ class Content:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class InputText(Content):
|
class InputText(Content):
|
||||||
type: str = field(init=False, default='input_text')
|
type: str = field(init=False, default='input_text')
|
||||||
text: str
|
text: str
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class OutputText(Content):
|
class OutputText(Content):
|
||||||
type: str = field(init=False, default='output_text')
|
type: str = field(init=False, default='output_text')
|
||||||
text: str
|
text: str
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class InputImage(Content):
|
class InputImage(Content):
|
||||||
type: str = field(init=False, default='input_image')
|
type: str = field(init=False, default='input_image')
|
||||||
image_url: str = field(default=None)
|
image_url: str = field(default=None)
|
||||||
@ -53,12 +53,12 @@ class InputImage(Content):
|
|||||||
raise ValueError("Either 'image_url' or 'file_id' must be provided.")
|
raise ValueError("Either 'image_url' or 'file_id' must be provided.")
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class UrlCitation(Content):
|
class UrlCitation(Content):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class FunctionCall(Content):
|
class FunctionCall(Content):
|
||||||
type: str = field(init=False, default='function_call')
|
type: str = field(init=False, default='function_call')
|
||||||
id: str
|
id: str
|
||||||
@ -67,7 +67,7 @@ class FunctionCall(Content):
|
|||||||
arguments: dict
|
arguments: dict
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class FunctionCallOutput(Content):
|
class FunctionCallOutput(Content):
|
||||||
type: str = field(init=False, default='function_call_output')
|
type: str = field(init=False, default='function_call_output')
|
||||||
call_id: str
|
call_id: str
|
||||||
|
|||||||
@ -2,7 +2,7 @@ from dataclasses import dataclass
|
|||||||
from content_builder import Content, InputText, InputImage
|
from content_builder import Content, InputText, InputImage
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True)
|
||||||
class Message:
|
class Message:
|
||||||
role: str
|
role: str
|
||||||
content: list[Content]
|
content: list[Content]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user