Private
Public Access
1
0

Add Temperature to Model struct

This commit is contained in:
2025-06-25 07:08:19 +00:00
parent a2b714f96d
commit 8cbd3a8277

View File

@@ -11,7 +11,8 @@ import (
type Model struct {
Name string
Reasoning bool
MaxTokens int
MaxTokens *int
Temperature *float32
}
type Provider struct {
@@ -89,11 +90,21 @@ func parseModels(rawModels []any) ([]Model, error) {
if maxTokensVal, ok := rawModel["maxTokens"]; ok {
// YAML numbers often unmarshal as int, sometimes float64. Handle int primarily.
if maxTokensInt, ok := maxTokensVal.(int); ok {
parsedModel.MaxTokens = maxTokensInt
parsedModel.MaxTokens = &maxTokensInt
} else {
return nil, fmt.Errorf("Invalid 'maxTokens' type (%T) for model '%s'", maxTokensVal, parsedModel.Name)
}
} // else: default is 0
} // else: default is nil
if temperatureVal, ok := rawModel["temperature"]; ok {
// YAML numbers often unmarshal as int, sometimes float64. Handle int primarily.
if temperatureFloat, ok := temperatureVal.(float64); ok {
asFloat32 := float32(temperatureFloat)
parsedModel.Temperature = &asFloat32
} else {
return nil, fmt.Errorf("Invalid 'temperature' type (%T) for model '%s'", temperatureVal, parsedModel.Name)
}
} // else: default is nil
default:
return nil, fmt.Errorf("Invalid model definition type (%T) at index %d in provider '%s'", modelInterface, i)