Update ModelCapabilities to support flexible vision input handling
- Changed the Vision field in ModelCapabilities from bool to interface{} to accommodate both boolean values and VisionFormat strings.
- Modified the getConnectorCapabilities function to directly assign the Vision capability based on the updated model configuration, enhancing compatibility with various vision input formats.
This commit is contained in:
parent
a8d73f8f7b
commit
796f6437ef
2 changed files with 12 additions and 12 deletions
|
|
@ -147,7 +147,7 @@ func (ast *Assistant) getConnectorCapabilities(connectorID string) *context.Mode
|
||||||
// Initialize with default capabilities (all disabled)
|
// Initialize with default capabilities (all disabled)
|
||||||
falseVal := false
|
falseVal := false
|
||||||
capabilities := &context.ModelCapabilities{
|
capabilities := &context.ModelCapabilities{
|
||||||
Vision: &falseVal,
|
Vision: falseVal,
|
||||||
ToolCalls: &falseVal,
|
ToolCalls: &falseVal,
|
||||||
Audio: &falseVal,
|
Audio: &falseVal,
|
||||||
Reasoning: &falseVal,
|
Reasoning: &falseVal,
|
||||||
|
|
@ -162,9 +162,9 @@ func (ast *Assistant) getConnectorCapabilities(connectorID string) *context.Mode
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update capabilities based on model configuration
|
// Update capabilities based on model configuration
|
||||||
if modelCaps.Vision {
|
// Vision can be bool or string (VisionFormat)
|
||||||
v := true
|
if modelCaps.Vision != nil {
|
||||||
capabilities.Vision = &v
|
capabilities.Vision = modelCaps.Vision
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle both Tools (deprecated) and ToolCalls
|
// Handle both Tools (deprecated) and ToolCalls
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ type Assistant struct {
|
||||||
// ModelCapabilities defines the capabilities of a language model
|
// ModelCapabilities defines the capabilities of a language model
|
||||||
// This configuration is loaded from agent/models.yml
|
// This configuration is loaded from agent/models.yml
|
||||||
type ModelCapabilities struct {
|
type ModelCapabilities struct {
|
||||||
Vision bool `json:"vision,omitempty" yaml:"vision,omitempty"` // Supports vision/image input
|
Vision interface{} `json:"vision,omitempty" yaml:"vision,omitempty"` // Supports vision/image input: bool or VisionFormat string ("openai", "claude"/"base64", "default")
|
||||||
Tools bool `json:"tools,omitempty" yaml:"tools,omitempty"` // Supports tool/function calling (deprecated, use ToolCalls)
|
Tools bool `json:"tools,omitempty" yaml:"tools,omitempty"` // Supports tool/function calling (deprecated, use ToolCalls)
|
||||||
ToolCalls bool `json:"tool_calls,omitempty" yaml:"tool_calls,omitempty"` // Supports tool/function calling
|
ToolCalls bool `json:"tool_calls,omitempty" yaml:"tool_calls,omitempty"` // Supports tool/function calling
|
||||||
Audio bool `json:"audio,omitempty" yaml:"audio,omitempty"` // Supports audio input/output
|
Audio bool `json:"audio,omitempty" yaml:"audio,omitempty"` // Supports audio input/output
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue