diff --git a/providers/openai/openai.go b/providers/openai/openai.go index 5b4e2c20b50f183cf0af5d598b10108d9c4cfa00..6bfff744ebad638e145b17f7936733e17839acdb 100644 --- a/providers/openai/openai.go +++ b/providers/openai/openai.go @@ -207,7 +207,7 @@ func (o *provider) LanguageModel(_ context.Context, modelID string) (fantasy.Lan if objectMode == fantasy.ObjectModeJSON { objectMode = fantasy.ObjectModeAuto } - return newResponsesLanguageModel(modelID, o.options.name, client, objectMode), nil + return newResponsesLanguageModel(modelID, o.options.name, client, objectMode, o.options.noDefaultUserAgent), nil } languageModelOptions := append([]LanguageModelOption{}, o.options.languageModelOptions...) diff --git a/providers/openai/responses_language_model.go b/providers/openai/responses_language_model.go index a325ed46a6c2e100aa0e895c8399ef8f863403fd..115a0ec660ec319769eff1cd7b2eeedf366039fc 100644 --- a/providers/openai/responses_language_model.go +++ b/providers/openai/responses_language_model.go @@ -21,20 +21,22 @@ import ( const topLogprobsMax = 20 type responsesLanguageModel struct { - provider string - modelID string - client openai.Client - objectMode fantasy.ObjectMode + provider string + modelID string + client openai.Client + objectMode fantasy.ObjectMode + noDefaultUserAgent bool } // newResponsesLanguageModel implements a responses api model // INFO: (kujtim) currently we do not support stored parameter we default it to false. -func newResponsesLanguageModel(modelID string, provider string, client openai.Client, objectMode fantasy.ObjectMode) responsesLanguageModel { +func newResponsesLanguageModel(modelID string, provider string, client openai.Client, objectMode fantasy.ObjectMode, noDefaultUserAgent bool) responsesLanguageModel { return responsesLanguageModel{ - modelID: modelID, - provider: provider, - client: client, - objectMode: objectMode, + modelID: modelID, + provider: provider, + client: client, + objectMode: objectMode, + noDefaultUserAgent: noDefaultUserAgent, } } @@ -668,7 +670,7 @@ func toResponsesTools(tools []fantasy.Tool, toolChoice *fantasy.ToolChoice, opti func (o responsesLanguageModel) Generate(ctx context.Context, call fantasy.Call) (*fantasy.Response, error) { params, warnings := o.prepareParams(call) - response, err := o.client.Responses.New(ctx, *params, callUARequestOptions(call, false)...) + response, err := o.client.Responses.New(ctx, *params, callUARequestOptions(call, o.noDefaultUserAgent)...) if err != nil { return nil, toProviderErr(err) }