class_docstr: Implementation of a model for inference composable with ragged batching.
class_docstr_tok: ["Implementation","of","a","model","for","inference","composable","with","ragged","batching","."]
docstr: Return the KV-cache configuration for this model. This should be a tuple of one or more
  KVCacheConfig objects (one for each distinct cache group).
docstr_tok: ["Return","the","KV-cache","configuration","for","this","model",".","This","should","be","a","tuple","of","one","or","more","KVCacheConfig","objects","(","one","for","each","distinct","cache","group",")","."]
code: def kv_cache_config(self) -> Tuple[KVCacheConfig, ...]:
      """
      Return the KV-cache configuration for this model. This should be a tuple of one or more
      KVCacheConfig objects (one for each distinct cache group).
      """
      raise NotImplementedError()
  
imports: from abc import ABC, abstractmethod
  from typing import Iterable, Optional, Tuple, Type
  import torch
  import deepspeed.comm
  from ..ragged import DSStateManager, RaggedBatchWrapper
  from ..ragged.manager_configs import KVCacheConfig
  from ..ragged import DSSequenceDescriptor
  from ..model_implementations.layer_container_base import LayerContainer
  from ..config_v2 import RaggedInferenceEngineConfig
  from .flat_model_helpers import ModelMetadata
label_desc: Use image node_id 13 for calling the DSInferenceModelBase obj's underlying member method code with example usage: obj.kv_cache_config() without return types