code: def combo_fid_retriever_factory(
      opt: Opt, dictionary: DictionaryAgent, shared=None
  ) -> Optional[RagRetriever]:
      """
      Bypass call to standard retriever factory to possibly build our own retriever.
      """
      if opt.get("converting"):
          return None
      retriever = RetrieverType(opt["rag_retriever_type"])
      if retriever is RetrieverType.SEARCH_ENGINE:
          return ComboFidSearchQuerySearchEngineRetriever(
              opt, dictionary, shared=shared
          )  # type: ignore
      else:
          return retriever_factory(opt, dictionary, shared)
  
imports: import torch
  from typing import List, Tuple, Optional, Dict, Any
  from parlai.agents.fid.fid import FidModel
  from parlai.agents.rag.args import RetrieverType
  from parlai.agents.rag.retrievers import Document, BLANK_DOC, SearchQuerySearchEngineRetriever, RagRetriever, retriever_factory
  from parlai.core.dict import DictionaryAgent
  from parlai.core.opt import Opt
  import parlai.utils.logging
label_desc: Use image node_id 2 for calling a global function with example usage: combo_fid_retriever_factory(opt, dictionary, shared) and returns: None, ComboFidSearchQuerySearchEngineRetriever, retriever_factory