pyrit.models.group_conversation_request_pieces_by_sequence#
- group_conversation_request_pieces_by_sequence(request_pieces: Sequence[PromptRequestPiece]) MutableSequence[PromptRequestResponse] [source]#
Groups prompt request pieces from the same conversation into PromptRequestResponses.
This is done using the sequence number and conversation ID.
- Parameters:
request_pieces (Sequence[PromptRequestPiece]) – A list of PromptRequestPiece objects representing individual request pieces.
- Returns:
- A list of PromptRequestResponse objects representing grouped request
pieces. This is ordered by the sequence number
- Return type:
MutableSequence[PromptRequestResponse]
- Raises:
ValueError – If the conversation ID of any request piece does not match the conversation ID of the first
request piece. –
Example: >>> request_pieces = [ >>> PromptRequestPiece(conversation_id=1, sequence=1, text=”Given this list of creatures, which is your >>> favorite:”), >>> PromptRequestPiece(conversation_id=1, sequence=2, text=”Good question!”), >>> PromptRequestPiece(conversation_id=1, sequence=1, text=”Raccoon, Narwhal, or Sloth?”), >>> PromptRequestPiece(conversation_id=1, sequence=2, text=”I’d have to say racoons are my favorite!”), >>> ] >>> grouped_responses = group_conversation_request_pieces(request_pieces) … [ … PromptRequestResponse(request_pieces=[ … PromptRequestPiece(conversation_id=1, sequence=1, text=”Given this list of creatures, which is your … favorite:”), … PromptRequestPiece(conversation_id=1, sequence=1, text=”Raccoon, Narwhal, or Sloth?”) … ]), … PromptRequestResponse(request_pieces=[ … PromptRequestPiece(conversation_id=1, sequence=2, text=”Good question!”), … PromptRequestPiece(conversation_id=1, sequence=2, text=”I’d have to say racoons are my favorite!”) … ]) … ]