ai-css/library/modelprovider/bootstrap/options.go
2026-02-12 08:50:11 +00:00

39 lines
796 B
Go
Executable File

package bootstrap
import (
"ai-css/library/modelprovider"
"ai-css/library/modelprovider/config"
"ai-css/library/modelprovider/consts"
)
type ClientOption func(*Options)
type Options struct {
ProviderName consts.ProviderName
Provider modelprovider.Provider
ProviderConfig *config.ProviderConfig
DefaultModel string
}
func WithProviderName(name consts.ProviderName) ClientOption {
return func(o *Options) {
o.ProviderName = name
}
}
func WithProvider(p modelprovider.Provider) ClientOption {
return func(o *Options) {
o.Provider = p
}
}
func WithProviderConfig(cfg *config.ProviderConfig) ClientOption {
return func(o *Options) {
o.ProviderConfig = cfg
}
}
func WithDefaultModel(model string) ClientOption {
return func(o *Options) { o.DefaultModel = model }
}