class_docstr: Synchronous abstraction for tracking requests.
class_docstr_tok: ["Synchronous","abstraction","for","tracking","requests","."]
docstr: Add a request to be sent to the engine on the next background
  loop iteration.
docstr_tok: ["Add","a","request","to","be","sent","to","the","engine","on","the","next","background","loop","iteration","."]
code: def add_request(
      self, request_id: str, **engine_add_request_kwargs
  ) -> AsyncStream:
      """Add a request to be sent to the engine on the next background
      loop iteration."""
      if request_id in self._request_streams:
          invalidInputError(f"Request {request_id} already exists.")
  
      stream = AsyncStream(request_id)
      self._new_requests.put_nowait(
          (
              stream,
              {"request_id": request_id, **engine_add_request_kwargs},
          )
      )
  
      self.new_requests_event.set()
  
      return stream
  
imports: import asyncio
  import time
  from functools import partial
  from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Type, Union
  from bigdl.llm.vllm.config import ModelConfig
  from bigdl.llm.vllm.engine.arg_utils import AsyncEngineArgs
  from bigdl.llm.vllm.engine.llm_engine import LLMEngine
  from bigdl.llm.vllm.logger import init_logger
  from bigdl.llm.vllm.outputs import RequestOutput
  from bigdl.llm.vllm.sampling_params import SamplingParams
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 6 for calling the RequestTracker obj's underlying member method code with example usage: obj.add_request(request_id) and returns: stream