code: def make_eval_dict(exact_scores, f1_scores, qid_list=None):
      """returns dictionary with formatted evaluation scores"""
      if not qid_list:
          total = len(exact_scores)
          return collections.OrderedDict(
              [
                  ("exact", 100.0 * sum(exact_scores.values()) / total),
                  ("f1", 100.0 * sum(f1_scores.values()) / total),
                  ("total", total),
              ]
          )
      else:
          total = len(qid_list)
          return collections.OrderedDict(
              [
                  (
                      "exact",
                      100.0
                      * sum(exact_scores[k] for k in qid_list)
                      / total,
                  ),
                  (
                      "f1",
                      100.0
                      * sum(f1_scores[k] for k in qid_list)
                      / total,
                  ),
                  ("total", total),
              ]
          )
  
imports: import collections
  from typing import List
  import ijson
  import numpy
  from transformers.models.bert.tokenization_bert import BasicTokenizer
  from nemo.collections.nlp.data.data_utils import DataProcessor, check_chinese_char, normalize_answer, normalize_chinese_answer
  from nemo.utils import logging
label_desc: Use image node_id 7 for calling a global function with example usage: make_eval_dict(exact_scores, f1_scores, qid_list) and returns: collections, collections