class_docstr: Provides the personality in the `text` field, and response in the `labels` field.
  
  To specify your own path to the YFCC100m images, please use the `--yfcc-path`
  command line argument.
class_docstr_tok: ["Provides","the","personality","in","the","`","text","`","field",",","and","response","in","the","`","labels","`","field",".","To","specify","your","own","path","to","the","YFCC100m","images",",","please","use","the","`","--","yfcc-path","`","command","line","argument","."]
docstr: Returns the next example from this dataset after starting to queue up the next
  example.
  
  :return (example, epoch done):
      returns the next example as well as whether the epoch is done.
docstr_tok: ["Returns","the","next","example","from","this","dataset","after","starting","to","queue","up","the","next","example",".",":","return","(","example",",","epoch","done",")",":","returns","the","next","example","as","well","as","whether","the","epoch","is","done","."]
code: def next_example(self) -> Tuple[Message, bool]:
      """
      Returns the next example from this dataset after starting to queue up the next
      example.
  
      :return (example, epoch done):
          returns the next example as well as whether the epoch is done.
      """
      ready = None
      load_image = (
          self.image_mode != "no_image_model" and self.include_image
      )
      # pull up the currently queued example
      if self.example is not None:
          # if self.image_mode != 'none' and 'image_id' in self.example:
          if load_image and "image_id" in self.example:
              # move the image we loaded in the background into the example
              image = self.data_queue.get()
              self.example["image"] = image
          ready = (self.example, self.imageEpochDone)  # type: ignore
      # get the next base example: super().next_example() calls self.get()
      self.example, self.imageEpochDone = super().next_example()
      # if self.image_mode != 'none' and 'image_id' in self.example:
      if load_image and "image_id" in self.example:
          # load the next image in the background
          image_id = self.example["image_id"]
          self.submit_load_request(image_id)
      # Try to return the previously cached example
      if ready is None:
          return self.next_example()
      else:
          return ready
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  import json
  import os
  import random
  from typing import Tuple, Dict, List
  from parlai.core.message import Message
  from parlai.core.opt import Opt
  from parlai.core.teachers import FixedDialogTeacher
  from parlai.core.image_featurizers import ImageLoader
  from parlai.utils.typing import TShared
  from parlai.utils.io import PathManager
  from .build import build
label_desc: Use image node_id 9 for calling the ImageChatTeacher obj's underlying member method code with example usage: obj.next_example() and returns: self, ready