diff --git a/cspell.json b/cspell.json index b18a66de464c2ba1bbad75e8bbd795f22c139e75..e32d6baeceeb427fdaf8bd0b3ef053c63a9a1857 100644 --- a/cspell.json +++ b/cspell.json @@ -1 +1 @@ -{"version":"0.2","words":["mapstructure","mapstructure","charmbracelet","providertests","joho","godotenv","stretchr","Quantizations","Logit","Probs"],"flagWords":[],"language":"en"} \ No newline at end of file +{"version":"0.2","words":["mapstructure","mapstructure","charmbracelet","providertests","joho","godotenv","stretchr","Quantizations","Logit","Probs","openrouter"],"flagWords":[],"language":"en"} \ No newline at end of file diff --git a/openrouter/openrouter.go b/openrouter/openrouter.go index 5bb82ef258f7b8b849f6bef846a836b89e303cda..bf3f32113253717950116c990fc6431217893dce 100644 --- a/openrouter/openrouter.go +++ b/openrouter/openrouter.go @@ -11,6 +11,10 @@ type options struct { openaiOptions []openai.Option } +const ( + DefaultURL = "https://openrouter.ai/api/v1" +) + type Option = func(*options) func prepareCallWithOptions(model ai.LanguageModel, params *openaiSDK.ChatCompletionNewParams, call ai.Call) ([]ai.CallWarning, error) { @@ -31,6 +35,7 @@ func prepareCallWithOptions(model ai.LanguageModel, params *openaiSDK.ChatComple func New(opts ...Option) ai.Provider { providerOptions := options{ openaiOptions: []openai.Option{ + openai.WithBaseURL(DefaultURL), openai.WithHooks(openai.Hooks{ PrepareCallWithOptions: prepareCallWithOptions, }), @@ -42,12 +47,6 @@ func New(opts ...Option) ai.Provider { return openai.New(providerOptions.openaiOptions...) } -func WithBaseURL(baseURL string) Option { - return func(o *options) { - o.openaiOptions = append(o.openaiOptions, openai.WithBaseURL(baseURL)) - } -} - func WithAPIKey(apiKey string) Option { return func(o *options) { o.openaiOptions = append(o.openaiOptions, openai.WithAPIKey(apiKey))