pyrit.models.group_message_pieces_into_conversations#
- group_message_pieces_into_conversations(message_pieces: Sequence[MessagePiece]) list[list[Message]][source]#
Groups message pieces from multiple conversations into separate conversation groups.
This function first groups pieces by conversation ID, then groups each conversation’s pieces by sequence number. Each conversation is returned as a separate list of Message objects.
- Parameters:
message_pieces (Sequence[MessagePiece]) – A list of MessagePiece objects from potentially different conversations.
- Returns:
- A list of conversations, where each conversation is a list
of Message objects grouped by sequence.
- Return type:
Example: >>> message_pieces = [ >>> MessagePiece(conversation_id=”conv1”, sequence=1, text=”Hello”), >>> MessagePiece(conversation_id=”conv2”, sequence=1, text=”Hi there”), >>> MessagePiece(conversation_id=”conv1”, sequence=2, text=”How are you?”), >>> MessagePiece(conversation_id=”conv2”, sequence=2, text=”I’m good”), >>> ] >>> conversations = group_message_pieces_into_conversations(message_pieces) >>> # Returns a list of 2 conversations: >>> # [ >>> # [Message(seq=1), Message(seq=2)], # conv1 >>> # [Message(seq=1), Message(seq=2)] # conv2 >>> # ]