docstr: Returns the Tensor containing the block IDs for this sequence on the appropriate device
  for the specified cache group.
  
  Arguments:
      cache_group (int): The cache group to query.
      on_device (bool): Whether or not to return the Tensor on the device or on the host.
docstr_tok: ["Returns","the","Tensor","containing","the","block","IDs","for","this","sequence","on","the","appropriate","device","for","the","specified","cache","group",".","Arguments",":","cache_group","(","int",")",":","The","cache","group","to","query",".","on_device","(","bool",")",":","Whether","or","not","to","return","the","Tensor","on","the","device","or","on","the","host","."]
code: def kv_cache_ids(
      self, cache_group: int = 0, on_device: bool = False
  ) -> torch.Tensor:
      """
      Returns the Tensor containing the block IDs for this sequence on the appropriate device
      for the specified cache group.
  
      Arguments:
          cache_group (int): The cache group to query.
          on_device (bool): Whether or not to return the Tensor on the device or on the host.
      """
      if on_device:
          return self._kv_cache_ids[cache_group]
      else:
          return self._kv_cache_ids_shadow[cache_group]
  
imports: from typing import List, Tuple, Union
  import torch
label_desc: Use image node_id 7 for calling the DSSequenceDescriptor obj's underlying member method code with example usage: obj.kv_cache_ids(cache_group, on_device) and returns: self, self