From 77b75a52bd18f791c4f41a697c0322a7195e8614 Mon Sep 17 00:00:00 2001 From: NetchiHub Date: Sun, 4 May 2025 14:57:42 +0900 Subject: [PATCH] fix an error where role 'tool' is not a response to a preceding message with 'tool_calls' when using the OpenAI API --- app/schema.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/schema.py b/app/schema.py index 5f743f92f..23487691f 100644 --- a/app/schema.py +++ b/app/schema.py @@ -166,6 +166,8 @@ def add_message(self, message: Message) -> None: # Optional: Implement message limit if len(self.messages) > self.max_messages: self.messages = self.messages[-self.max_messages :] + while self.messages[0].role == "tool": + self.messages = self.messages[1:] def add_messages(self, messages: List[Message]) -> None: """Add multiple messages to memory""" @@ -173,6 +175,8 @@ def add_messages(self, messages: List[Message]) -> None: # Optional: Implement message limit if len(self.messages) > self.max_messages: self.messages = self.messages[-self.max_messages :] + while self.messages[0].role == "tool": + self.messages = self.messages[1:] def clear(self) -> None: """Clear all messages"""