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:
T-BENZIN 2025-07-05 18:16:48 +05:00
parent bfe22e40ee
commit 247e4417f5
2 changed files with 8 additions and 8 deletions

View File

@ -1,7 +1,7 @@
from dataclasses import dataclass, field, fields
@dataclass
@dataclass(frozen=True)
class Content:
type: str = field(init=False, default='')
@ -30,19 +30,19 @@ class Content:
return result
@dataclass
@dataclass(frozen=True)
class InputText(Content):
type: str = field(init=False, default='input_text')
text: str
@dataclass
@dataclass(frozen=True)
class OutputText(Content):
type: str = field(init=False, default='output_text')
text: str
@dataclass
@dataclass(frozen=True)
class InputImage(Content):
type: str = field(init=False, default='input_image')
image_url: str = field(default=None)
@ -53,12 +53,12 @@ class InputImage(Content):
raise ValueError("Either 'image_url' or 'file_id' must be provided.")
@dataclass
@dataclass(frozen=True)
class UrlCitation(Content):
pass
@dataclass
@dataclass(frozen=True)
class FunctionCall(Content):
type: str = field(init=False, default='function_call')
id: str
@ -67,7 +67,7 @@ class FunctionCall(Content):
arguments: dict
@dataclass
@dataclass(frozen=True)
class FunctionCallOutput(Content):
type: str = field(init=False, default='function_call_output')
call_id: str

View File

@ -2,7 +2,7 @@ from dataclasses import dataclass
from content_builder import Content, InputText, InputImage
@dataclass
@dataclass(frozen=True)
class Message:
role: str
content: list[Content]