docstr: Uses RequestFactory to construct Requests and returns an iterable of
  Requests which will be sent to the LM.
  
  :param doc:
      The document as returned from training_docs, validation_docs, or test_docs.
  :param ctx: str
      The context string, generated by fewshot_context. This includes the natural
      language description, as well as the few shot examples, and the question
      part of the document for `doc`.
docstr_tok: ["Uses","RequestFactory","to","construct","Requests","and","returns","an","iterable","of","Requests","which","will","be","sent","to","the","LM",".",":","param","doc",":","The","document","as","returned","from","training_docs",",","validation_docs",",","or","test_docs",".",":","param","ctx",":","str","The","context","string",",","generated","by","fewshot_context",".","This","includes","the","natural","language","description",",","as","well","as","the","few","shot","examples",",","and","the","question","part","of","the","document","for","`","doc","`","."]
code: def construct_requests(self, doc, ctx):
      """Uses RequestFactory to construct Requests and returns an iterable of
      Requests which will be sent to the LM.
  
      :param doc:
          The document as returned from training_docs, validation_docs, or test_docs.
      :param ctx: str
          The context string, generated by fewshot_context. This includes the natural
          language description, as well as the few shot examples, and the question
          part of the document for `doc`.
      """
      clozes = [doc["sentence_quiz1"], doc["sentence_quiz2"]]
      lls = [
          rf.loglikelihood(ctx, " {}".format(choice))[0]
          for choice in clozes
      ]
      return lls
  
imports: import numpy
  from lm_eval.base import rf, Task
  from lm_eval.metrics import mean
label_desc: Use image node_id 12 for calling the StoryCloze obj's underlying member method code with example usage: obj.construct_requests(doc, ctx) and returns: lls