class_docstr: Knowledge base table interface
  Handlers requests to KB table and modifies data in linked vector db table
class_docstr_tok: ["Knowledge","base","table","interface","Handlers","requests","to","KB","table","and","modifies","data","in","linked","vector","db","table"]
docstr: Insert dataframe to KB table
  Adds embedding column to dataframe and calls .upsert method of vector db
  :param df: input dataframe
docstr_tok: ["Insert","dataframe","to","KB","table","Adds","embedding","column","to","dataframe","and","calls",".upsert","method","of","vector","db",":","param","df",":","input","dataframe"]
code: def insert(self, df: pd.DataFrame):
      """
      Insert dataframe to KB table
      Adds embedding column to dataframe and calls .upsert method of vector db
      :param df: input dataframe
  
      """
      if df.empty:
          return
  
      # add embeddings
      df_emb = self._df_to_embeddings(df)
      df = pd.concat([df, df_emb], axis=1)
  
      # send to vector db
      db_handler = self._get_vector_db()
      db_handler.do_upsert(self._kb.vector_database_table, df)
  
imports: import copy
  from typing import List
  import pandas
  import mindsdb_sql.planner.utils
  from mindsdb_sql.parser.ast import BinaryOperation, Constant, Identifier, Select, Update, Delete, Star
  from mindsdb_sql.parser.dialects.mindsdb import CreatePredictor
  import mindsdb.interfaces.storage.db
  from mindsdb.integrations.libs.vectordatabase_handler import TableField
  from mindsdb.utilities.exception import EntityExistsError, EntityNotExistsError
label_desc: Use image node_id 6 for calling the KnowledgeBaseTable obj's underlying member method code with example usage: obj.insert(df) without return types