diff --git a/maru_vllm/connector.py b/maru_vllm/connector.py index 86375fe..a30f363 100644 --- a/maru_vllm/connector.py +++ b/maru_vllm/connector.py @@ -685,7 +685,11 @@ def start_load_kv( if kv_cache_attr is None: continue - kv_cache_layer = kv_cache_attr[forward_context.virtual_engine] + if isinstance(kv_cache_attr, (list, tuple)): + virtual_engine = getattr(forward_context, "virtual_engine", 0) + kv_cache_layer = kv_cache_attr[virtual_engine] + else: + kv_cache_layer = kv_cache_attr # Use the same layer index derivation as save path # to ensure key consistency (enumerate index may diverge # when no_compile_layers contains non-attention layers).