pyrit.models.group_conversation_message_pieces_by_sequence

pyrit.models.group_conversation_message_pieces_by_sequence#

group_conversation_message_pieces_by_sequence(message_pieces: Sequence[MessagePiece]) MutableSequence[Message][source]#

Groups message pieces from the same conversation into Messages.

This is done using the sequence number and conversation ID.

Parameters:

message_pieces (Sequence[MessagePiece]) – A list of MessagePiece objects representing individual message pieces.

Returns:

A list of Message objects representing grouped message

pieces. This is ordered by the sequence number.

Return type:

MutableSequence[Message]

Raises:

ValueError – If the conversation ID of any message piece does not match the conversation ID of the first message piece.

Example: >>> message_pieces = [ >>> MessagePiece(conversation_id=1, sequence=1, text=”Given this list of creatures, which is your >>> favorite:”), >>> MessagePiece(conversation_id=1, sequence=2, text=”Good question!”), >>> MessagePiece(conversation_id=1, sequence=1, text=”Raccoon, Narwhal, or Sloth?”), >>> MessagePiece(conversation_id=1, sequence=2, text=”I’d have to say raccoons are my favorite!”), >>> ] >>> grouped_responses = group_conversation_message_pieces(message_pieces) … [ … Message(message_pieces=[ … MessagePiece(conversation_id=1, sequence=1, text=”Given this list of creatures, which is your … favorite:”), … MessagePiece(conversation_id=1, sequence=1, text=”Raccoon, Narwhal, or Sloth?”) … ]), … Message(message_pieces=[ … MessagePiece(conversation_id=1, sequence=2, text=”Good question!”), … MessagePiece(conversation_id=1, sequence=2, text=”I’d have to say raccoons are my favorite!”) … ]) … ]