MCPcopy Create free account
hub / github.com/astercloud/aster / Create

Method Create

pkg/provider/factory.go:27–90  ·  view source on GitHub ↗

Create 根据配置创建相应的提供商

(config *types.ModelConfig)

Source from the content-addressed store, hash-verified

25
26// Create 根据配置创建相应的提供商
27func (f *MultiProviderFactory) Create(config *types.ModelConfig) (Provider, error) {
28 providerType := config.Provider
29 if providerType == "" {
30 // 默认使用 anthropic
31 providerType = "anthropic"
32 }
33
34 factoryLog.Info(context.Background(), "Creating provider", map[string]any{
35 "provider_type": providerType,
36 "model": config.Model,
37 "base_url": config.BaseURL,
38 })
39
40 switch providerType {
41 // 原有 Providers
42 case "anthropic":
43 return NewAnthropicProvider(config)
44 case "glm", "zhipu", "bigmodel":
45 return NewGLMProvider(config)
46 case "deepseek":
47 return NewDeepseekProvider(config)
48
49 // 新增 OpenAI 兼容 Providers
50 case "openai":
51 return NewOpenAIProvider(config)
52 case "groq":
53 return NewGroqProvider(config)
54 case "ollama":
55 return NewOllamaProvider(config)
56 case "openrouter":
57 return NewOpenRouterProviderSimple(config)
58 case "mistral":
59 return NewMistralProvider(config)
60
61 // 中国市场 Providers
62 case "doubao", "bytedance":
63 return NewDoubaoProviderSimple(config)
64 case "moonshot", "kimi":
65 return NewMoonshotProvider(config)
66
67 // Google Providers (专有格式)
68 case "gemini", "google":
69 return NewGeminiProvider(config)
70
71 // 自定义 Claude API 中转站(Anthropic 格式)
72 case "custom_claude":
73 return NewCustomClaudeProvider(config)
74
75 // 通用 OpenAI 兼容 Provider(用户自定义 API)
76 case "openai_compatible", "custom":
77 return NewCustomProvider(config)
78
79 // Gateway Provider(自动推断协议)
80 case "gateway":
81 return NewGatewayProvider(config)
82
83 default:
84 // 如果提供了 BaseURL,尝试作为 OpenAI 兼容 Provider

Calls 15

NewAnthropicProviderFunction · 0.85
NewGLMProviderFunction · 0.85
NewDeepseekProviderFunction · 0.85
NewOpenAIProviderFunction · 0.85
NewGroqProviderFunction · 0.85
NewOllamaProviderFunction · 0.85
NewMistralProviderFunction · 0.85
NewDoubaoProviderSimpleFunction · 0.85
NewMoonshotProviderFunction · 0.85
NewGeminiProviderFunction · 0.85
NewCustomClaudeProviderFunction · 0.85