-
-
Notifications
You must be signed in to change notification settings - Fork 284
Description
Currently, the acts_as_chat
and acts_as_message
macros always include the “ToolCall” machinery — associations, and methods calls. This requires the dependent project to create the tool_calls
table even if they never invoke tools. In my Rails app, I'm not using tools at all (at least for the foreseeable future), so having to carry around an unused table and associations seems unnecessary.
I'm thinking that not using tools seems like a common enough use case, so that it makes sense to treat tool calls in the ActiveRecord integration like an add-on, and not something that must be included from the start.
My proposal is to include a config value that behaves like a feature flag to opt out of the tool call parts of the ActiveRecord integration.
config.active_record_use_tool_calls = false # (defaults to true so backwards compatible)
No changes would be made to the core library or how tool calls are implemented, just in the ActiveRecord integration. I implemented a proof of concept PR in a fork.
Does this seem sensible?