code: def test_embed_multiple_columns(self, mock_handler):
      self.run_sql("create database proj")
      # create  the model
      # with multiple input columns
      self.run_sql(
          """
              CREATE MODEL proj.test_dummy_embedding_multiple_columns
              PREDICT embeddings
              USING
                  engine='langchain_embedding',
                  class = 'fake', -- a more user friendly name
                  size = 512,
                  input_columns = ['content1', 'content2']
              """
      )
  
      self.wait_predictor(
          "proj", "test_dummy_embedding_multiple_columns"
      )
  
      # predictions
      # one line
      ret = self.run_sql(
          """
              SELECT * FROM proj.test_dummy_embedding_multiple_columns
              WHERE content1='hello'
              AND content2='world'
              """
      )
  
      assert "content1" in ret.columns
      assert "content2" in ret.columns
      assert "embeddings" in ret.columns
  
      df = pd.DataFrame(
          {
              "id": [1, 2, 3, 4],
              "content1": ["hello", "world", "foo", "bar"],
              "content2": ["world", "hello", "bar", "foo"],
          }
      )
      self.set_handler(mock_handler, name="pg", tables={"df": df})
  
      # query
      ret = self.run_sql(
          """
              SELECT * FROM proj.test_dummy_embedding_multiple_columns
              JOIN pg.df
              """
      )
  
      assert "content1" in ret.columns
      assert "content2" in ret.columns
      assert "embeddings" in ret.columns
      assert ret.shape[0] == 4
  
      # if the input missing columns, it should throw an error
      with pytest.raises(Exception):
          self.run_sql(
              """
                  SELECT * FROM proj.test_dummy_embedding_multiple_columns
                  WHERE content1='hello'
                  """
          )
  
      # if the input missing columns, it should throw an error
      with pytest.raises(Exception):
          df2 = pd.DataFrame(
              {
                  "content1": ["hello", "world", "foo", "bar"],
              }
          )
          self.set_handler(mock_handler, name="pg", tables={"df": df2})
          self.run_sql(
              """
                  SELECT * FROM proj.test_dummy_embedding_multiple_columns
                  JOIN pg.df2
                  """
          )
  
file_path: mindsdb/tests/unit/ml_handlers/test_langchain_embedding.py
imports: import os
  import time
  from unittest.mock import patch
  import pandas
  import pytest
  from mindsdb_sql import parse_sql
  from ..executor_test_base import BaseExecutorTest
label_desc: Use image node_id 4 for calling the TestLangchainEmbedding obj's underlying member method code with example usage: obj.test_embed_multiple_columns(mock_handler) without return types