docstr: Construct the key for the cache using the raw request.
  Add `request.random` to the key, if defined.
docstr_tok: ["Construct","the","key","for","the","cache","using","the","raw","request",".","Add","`","request.random","`","to","the","key",",","if","defined","."]
code: def make_cache_key(raw_request: Dict, request: Request) -> Dict:
      """
      Construct the key for the cache using the raw request.
      Add `request.random` to the key, if defined.
      """
      if request.random is not None:
          assert "random" not in raw_request
          cache_key = {**raw_request, "random": request.random}
      else:
          cache_key = raw_request
      return cache_key
  
file_path: H2O/h2o_hf/helm/src/helm/proxy/clients/client.py
imports: import time
  import json
  from abc import ABC, abstractmethod
  from typing import Callable, Any, Dict, List
  from helm.common.hierarchical_logger import hlog
  from helm.common.request import Request, RequestResult, Sequence, Token
  from helm.common.tokenization_request import TokenizationRequest, TokenizationRequestResult, DecodeRequest, DecodeRequestResult
label_desc: Use image node_id 1 for calling the Client obj's underlying member method code with example usage: obj.make_cache_key(raw_request, request) and returns: cache_key