code: def find_supporting_sentence(
      question: str, answer: str, docs: List[str]
  ) -> str:
      """
      Finds the supporting sentence for the answer in the docs.
      """
      # Remove the title of the documents.
      for i, doc in enumerate(docs):
          if " | " in doc:
              docs[i] = ". ".join(doc.split(" | ")[1:])
      concat_docs = ". ".join(docs)
      sentences = sent_tokenize(concat_docs)
  
      # Sort sentences according to recall with the answer and question.
      sorted_sentences = sorted(
          sentences,
          key=lambda sentence: (
              F1Metric._prec_recall_f1_score(
                  normalize_answer(answer).split(),
                  normalize_answer(sentence).split(),
              )[0],
              F1Metric._prec_recall_f1_score(
                  normalize_answer(question).split(),
                  normalize_answer(sentence).split(),
              )[0],
          ),
          reverse=True,
      )
  
      return sorted_sentences[0]
  
imports: from copy import deepcopy
  from typing import Optional, List
  from types import MethodType
  from collections import defaultdict
  from nltk.tokenize import sent_tokenize
  from nltk.corpus import stopwords
  import random
  import spacy
  import torch
  from parlai.core.agents import create_agent, create_agent_from_shared
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.message import Message
  from parlai.core.agents import Agent
  from parlai.core.metrics import F1Metric
  from parlai.agents.rag.args import setup_rag_args
  from parlai.agents.bart.bart import BartAgent
  from parlai.core.metrics import normalize_answer
  from parlai.tasks.wizard_of_wikipedia.agents import TOKEN_NOCHOSEN
  from parlai.tasks.wizard_of_wikipedia.agents import TOKEN_KNOWLEDGE, TOKEN_END_KNOWLEDGE
label_desc: Use image node_id 3 for calling a global function with example usage: find_supporting_sentence(question, answer, docs) and returns: sorted_sentences