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 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

View File

@ -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]