code: def test_select_from_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)
  
      # select from the knowledge base without any filters
      sql = """
              SELECT *
              FROM test_kb
          """
      df = self.run_sql(sql)
      assert df.shape[0] == 3
  
      # select from the knowledge base with an id filter
      sql = """
              SELECT *
              FROM test_kb
              WHERE id = 'id1'
          """
      df = self.run_sql(sql)
      assert df.shape[0] == 1
  
      # select from the knowledge base with a metadata filter
      sql = """
              SELECT *
              FROM test_kb
              WHERE
                  `metadata.some_field` = 'some_value'
          """
      df = self.run_sql(sql)
      assert df.shape[0] == 1
  
      # select with a search query
      sql = """
              SELECT *
              FROM test_kb
              WHERE
                  content = 'some query'
              LIMIT 1
          """
      df = self.run_sql(sql)
      assert df.shape[0] == 1
  
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 7 for calling the TestKnowledgeBase obj's underlying member method code with example usage: obj.test_select_from_kb() without return types