@@ -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...)
@@ -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)
}