code: def generate_response(
      cursor: evadb.EvaDBCursor, question: str
  ) -> str:
      """Generates question response with llm.
  
      Args:
          cursor (EVADBCursor): evadb api cursor.
          question (str): question to ask to llm.
  
      Returns
          str: response from llm.
      """
      # generate summary
      if (
          len(
              cursor.query("SELECT text FROM Transcript;").df()[
                  "transcript.text"
              ]
          )
          == 1
      ):
          return cursor.query(
              f"SELECT ChatGPT('{question}', text) FROM Transcript;"
          ).df()["chatgpt.response"][0]
      else:
          if not os.path.exists(SUMMARY_PATH):
              generate_summary(cursor)
  
          return cursor.query(
              f"SELECT ChatGPT('{question}', summary) FROM Summary;"
          ).df()["chatgpt.response"][0]
  
imports: import os
  import shutil
  from typing import Dict, List
  import pandas
  import evadb
  from pytube import YouTube, extract
  from youtube_transcript_api import YouTubeTranscriptApi
label_desc: Use image node_id 11 for calling a global function with example usage: generate_response(cursor, question) and returns: cursor, cursor