class RubyLLM::Chat
def with_tool(tool)
def with_tool(tool) unless @model.supports_functions raise UnsupportedFunctionsError, "Model #{@model.id} doesn't support function calling" end tool_instance = tool.is_a?(Class) ? tool.new : tool @tools[tool_instance.name.to_sym] = tool_instance self end