feat: regenerate in Chat
, agent
and Chatflow
app (#7661)
This commit is contained in:
22
api/core/prompt/utils/extract_thread_messages.py
Normal file
22
api/core/prompt/utils/extract_thread_messages.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from constants import UUID_NIL
|
||||
|
||||
|
||||
def extract_thread_messages(messages: list[dict]) -> list[dict]:
|
||||
thread_messages = []
|
||||
next_message = None
|
||||
|
||||
for message in messages:
|
||||
if not message.parent_message_id:
|
||||
# If the message is regenerated and does not have a parent message, it is the start of a new thread
|
||||
thread_messages.append(message)
|
||||
break
|
||||
|
||||
if not next_message:
|
||||
thread_messages.append(message)
|
||||
next_message = message.parent_message_id
|
||||
else:
|
||||
if next_message in {message.id, UUID_NIL}:
|
||||
thread_messages.append(message)
|
||||
next_message = message.parent_message_id
|
||||
|
||||
return thread_messages
|
Reference in New Issue
Block a user