code: def make_tools_from_skill(
      skill: db.Skills, llm, openai_api_key: str, executor
  ) -> List:
      """Makes Langchain compatible tools from a skill
  
      Args:
          skill (Skills): Skill to make a tool from
          llm (BaseLanguageModel): LLM to use if the skill requires one
          openai_api_key (str): OpenAI API key to use if the skill requires one
          executor (ExecuteCommands): MindsDB executor to use if the skill requires one
  
      Returns:
          tools (List[BaseTool]): List of tools for the given skill
      """
      if skill.type == "text_to_sql":
          return _make_text_to_sql_tools(skill, llm, executor)
      elif skill.type == "knowledge_base":
          return _make_knowledge_base_tools(
              skill, openai_api_key, executor.session
          )
      raise NotImplementedError(
          f"skill of type {skill.type} is not supported as a tool"
      )
  
file_path: mindsdb/mindsdb/interfaces/skills/skill_tool.py
imports: from mindsdb.interfaces.storage import db
  from mindsdb.integrations.handlers.langchain_embedding_handler.langchain_embedding_handler import construct_model_from_args
  from mindsdb.integrations.handlers.langchain_handler.mindsdb_database_agent import MindsDBSQL
  from mindsdb.integrations.handlers.rag_handler.rag import RAGQuestionAnswerer
  from mindsdb.integrations.handlers.rag_handler.settings import OpenAIParameters, RAGHandlerParameters
  import os
  from typing import List
label_desc: Use image node_id 4 for calling a global function with example usage: make_tools_from_skill(skill, llm, openai_api_key, executor) and returns: _make_text_to_sql_tools, _make_knowledge_base_tools