code: def test_insert_into_kb(self):
      # create the knowledge base
      sql = f"""
              CREATE KNOWLEDGE BASE test_kb
              USING
              MODEL = {self.embedding_model_name},
              STORAGE = {self.vector_database_name}.{self.vector_database_table_name}
          """
      self.run_sql(sql)
  
      # insert into the knowledge base using values
      sql = """
                  INSERT INTO test_kb (id, content, embeddings, metadata)
                  VALUES (
                      'id4',
                      'content4',
                      '[4, 5, 6]',
                      '{"d": 4}'
                  )
  
          """
      self.run_sql(sql)
  
      # verify the knowledge base is updated
      sql = """
              SELECT *
              FROM test_kb
              WHERE id = 'id4'
          """
      df = self.run_sql(sql)
      assert df.shape[0] == 1
  
      # insert into the knowledge base using a select
      sql = """
              INSERT INTO test_kb
              SELECT
                  content, metadata
              FROM files.df
          """
      self.run_sql(sql)
  
      # verify the knowledge base is updated
      sql = """
              SELECT *
              FROM test_kb
          """
  
      df = self.run_sql(sql)
      assert df.shape[0] == 7
  
imports: import tempfile
  import time
  from unittest.mock import patch
  import pandas
  import pytest
  from mindsdb_sql import parse_sql
  from mindsdb.interfaces.storage.db import KnowledgeBase
  from .executor_test_base import BaseExecutorTest
label_desc: Use image node_id 8 for calling the TestKnowledgeBase obj's underlying member method code with example usage: obj.test_insert_into_kb() without return types