package ai import ( "fmt" "stream-bot/internal/db" ) func NewProvider(cfg *db.AIConfig) (Provider, error) { switch cfg.Provider { case "ollama": return NewOllamaProvider(cfg.Endpoint, cfg.Model, cfg.SystemPrompt), nil case "chatgpt": return NewChatGPTProvider(cfg.APIKey, cfg.Model, cfg.SystemPrompt), nil case "gigachat": if cfg.ClientID == "" || cfg.ClientSecret == "" { return nil, fmt.Errorf("client_id and client_secret required for GigaChat") } return NewGigaChatProvider(cfg.ClientID, cfg.ClientSecret, cfg.Endpoint, cfg.Model, cfg.SystemPrompt), nil default: return nil, fmt.Errorf("unknown provider: %s", cfg.Provider) } }