diff --git a/reginaldCog/openai/content_builder.py b/reginaldCog/openai/content_builder.py index cc18a04..a75aabd 100644 --- a/reginaldCog/openai/content_builder.py +++ b/reginaldCog/openai/content_builder.py @@ -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 diff --git a/reginaldCog/openai/message_builder.py b/reginaldCog/openai/message_builder.py index 2ab3cd0..2585cd9 100644 --- a/reginaldCog/openai/message_builder.py +++ b/reginaldCog/openai/message_builder.py @@ -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]