Change summary
providers/openaicompat/language_model_hooks.go | 3 +++
providers/openaicompat/provider_options.go | 1 +
2 files changed, 4 insertions(+)
Detailed changes
@@ -47,6 +47,9 @@ func PrepareCallFunc(model fantasy.LanguageModel, params *openaisdk.ChatCompleti
if providerOptions.User != nil {
params.User = param.NewOpt(*providerOptions.User)
}
+ if len(providerOptions.ExtraBody) > 0 {
+ params.SetExtraFields(providerOptions.ExtraBody)
+ }
return nil, nil
}
@@ -28,6 +28,7 @@ func init() {
type ProviderOptions struct {
User *string `json:"user"`
ReasoningEffort *openai.ReasoningEffort `json:"reasoning_effort"`
+ ExtraBody map[string]any `json:"extra_body,omitempty"`
}
// ReasoningData represents reasoning data for OpenAI-compatible provider.