code: def recall_at_k(k) -> EvaluationMetric:
      """
      This function will create a metric for calculating ``recall_at_k`` for retriever models.
  
      This metric computes a score between 0 and 1 for each row representing the recall ability of
      the retriever model at the given ``k`` value. If no ground truth doc IDs are provided and no
      documents are retrieved, the score is 1. However, if no ground truth doc IDs are provided and
      documents are retrieved, the score is 0. In all other cases, the recall at k is calculated as
      follows:
  
          ``recall_at_k`` = (# of unique relevant retrieved doc IDs in top-``k`` ranked docs) / (# of
          ground truth doc IDs)
      """
      return make_metric(
          eval_fn=_recall_at_k_eval_fn(k),
          greater_is_better=True,
          name=f"recall_at_{k}",
      )
  
imports: from mlflow.metrics.base import MetricValue
  from mlflow.metrics.metric_definitions import _accuracy_eval_fn, _ari_eval_fn, _f1_score_eval_fn, _flesch_kincaid_eval_fn, _mae_eval_fn, _mape_eval_fn, _max_error_eval_fn, _mse_eval_fn, _ndcg_at_k_eval_fn, _precision_at_k_eval_fn, _precision_eval_fn, _r2_score_eval_fn, _recall_at_k_eval_fn, _recall_eval_fn, _rmse_eval_fn, _rouge1_eval_fn, _rouge2_eval_fn, _rougeL_eval_fn, _rougeLsum_eval_fn, _token_count_eval_fn, _toxicity_eval_fn
  from mlflow.models import EvaluationMetric, make_metric
  from mlflow.utils.annotations import experimental
label_desc: Use image node_id 12 for calling a global function with example usage: recall_at_k(k) and returns: make_metric