You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

18 lines
553 B

package provider
import "fmt"
// NewProvider creates a provider based on SDK type.
// Supported sdkType values:
// - "openai_compat": OpenAI-compatible APIs (OpenAI, Qwen, Zhipu, DeepSeek, etc.)
// - "anthropic": Anthropic Claude models
func NewProvider(sdkType, baseUrl, apiKey string) (AIProvider, error) {
switch sdkType {
case "openai_compat":
return NewOpenAIProvider(baseUrl, apiKey), nil
case "anthropic":
return NewAnthropicProvider(baseUrl, apiKey), nil
default:
return nil, fmt.Errorf("unsupported sdk_type: %s", sdkType)
}
}