-
-
Notifications
You must be signed in to change notification settings - Fork 234
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Scope check
- This is core LLM communication (not application logic)
- This benefits most users (not just my use case)
- This can't be solved in application code with current RubyLLM
- I read the Contributing Guide
Due diligence
- I searched existing issues
- I checked the documentation
What problem does this solve?
Different LLM providers use different formats for tool control parameters (e.g., OpenAI's separate parameter, Anthropic's tool choice object). The current implementation requires provider-specific handling through with_params
, making it difficult to switch providers.
Proposed solution
- Add standardized tool_choice parameter. Support "auto", "required", "none", and specific tool selection.
- Add boolean parameter to support allow/disallow parallel tool use.
- Handle provider-specific format translation internally.
Why this belongs in RubyLLM
This aligns with RubyLLM's goal of providing a unified interface for LLM interactions while abstracting provider-specific implementations. These parameters need to be handled at the provider level because each provider has different format requirements.
tpaulshippy
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request