util.py 774 Bytes
Newer Older
1
from typing import List
2
3
from typing import Sequence as GenericSequence
from typing import Union
4

5
from vllm.sequence import PoolerOutput, SamplerOutput, SequenceGroupOutput
6
7


8
def create_output_by_sequence_group(
9
        outputs: GenericSequence[Union[SamplerOutput, PoolerOutput]],
10
        num_seq_groups: int) -> List[List[SequenceGroupOutput]]:
11
12
13
    """Helper method which transforms a 2d list organized by
    [step][sequence group] into [sequence group][step].
    """
14
    output_by_sequence_group: List[List[SequenceGroupOutput]] = [
15
16
        [] for _ in range(num_seq_groups)
    ]
17
    for step in outputs:
18
19
20
21
        for i, sequence_group_output in enumerate(step):
            output_by_sequence_group[i].append(sequence_group_output)

    return output_by_sequence_group