diff --git a/models/core/ai/llm.py b/models/core/ai/llm.py index b66b446..b0098e2 100644 --- a/models/core/ai/llm.py +++ b/models/core/ai/llm.py @@ -249,10 +249,19 @@ class LLMOutput(BaseModel): } @property - def json(self) -> dict | list | None: + def output_json(self) -> dict | list | None: try: return json.from_string(self.output) except: return None + # ┏┓ ┏┓ + # ┃ ┓┏┏╋┏┓┏┳┓ ┣ ┓┏┏┓┏┏ + # ┗┛┗┻┛┗┗┛┛┗┗ ┻ ┗┻┛┗┗┛ + + def to_json(self) -> dict: + dump = self.model_dump() + dump["invocationId"] = str(dump["invocationId"]) + return dump + # ***************************************************************************************************************** # ***** **** diff --git a/models/core/message.py b/models/core/message.py index b9ff56f..b6cabb5 100644 --- a/models/core/message.py +++ b/models/core/message.py @@ -221,7 +221,7 @@ class CoreMessageModel(BaseModel): "chat": self.chat, "message": self.message, "snippet": self.snippet, - "aiSnippet": self.aiSnippet, + "aiSnippet": self.aiSnippet.to_json() if isinstance(self.aiSnippet, LLMOutput) else self.aiSnippet, "tags": self.tags } @@ -240,7 +240,7 @@ class CoreMessageModel(BaseModel): "sender": self.sender, "chat": self.chat, "snippet": self.snippet, - "aiSnippet": self.aiSnippet, + "aiSnippet": self.aiSnippet.to_json() if isinstance(self.aiSnippet, LLMOutput) else self.aiSnippet, "tags": self.tags }