From 247e4417f555aaf837b3276f2092da21345ae710 Mon Sep 17 00:00:00 2001 From: T-BENZIN Date: Sat, 5 Jul 2025 18:16:48 +0500 Subject: [PATCH] First attempt at making openai stuff pretty. As it uses replies instead of completions, update of openai library is required. --- reginaldCog/openai/content_builder.py | 14 +++++++------- reginaldCog/openai/message_builder.py | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) 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]