class_docstr: A group of sequences that are generated from the same prompt.
  
  Args:
      request_id: The ID of the request.
      seqs: The list of sequences.
      sampling_params: The sampling parameters used to generate the outputs.
      arrival_time: The arrival time of the request.
class_docstr_tok: ["A","group","of","sequences","that","are","generated","from","the","same","prompt",".","Args",":","request_id",":","The","ID","of","the","request",".","seqs",":","The","list","of","sequences",".","sampling_params",":","The","sampling","parameters","used","to","generate","the","outputs",".","arrival_time",":","The","arrival","time","of","the","request","."]
docstr: The maximum number of sequences running in parallel in the remaining
  lifetime of the request.
code: def get_max_num_running_seqs(self) -> int:
      """The maximum number of sequences running in parallel in the remaining
      lifetime of the request."""
      if self.sampling_params.use_beam_search:
          # For beam search, maximally there will always be `best_of` beam
          # candidates running in the future.
          return self.sampling_params.best_of
      else:
          if self.sampling_params.best_of > self.num_seqs():
              # At prompt stage, the sequence group is not yet filled up
              # and only have one sequence running. However, in the
              # generation stage, we will have `best_of` sequences running.
              return self.sampling_params.best_of
          # At sampling stages, return the number of actual sequences
          # that are not finished yet.
          return self.num_unfinished_seqs()
  
imports: import copy
  import enum
  import time
  from typing import Dict, List, Optional, Union
  from bigdl.llm.vllm.sampling_params import SamplingParams
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 2 for calling the SequenceGroup obj's underlying member method code with example usage: obj.get_max_num_running_seqs() and returns: self, self, self