Add Xiaomi MiMo provider (mimo-v2.5) support
This commit is contained in:
@@ -37,6 +37,7 @@ type ProviderConfig struct {
|
||||
Moonshot MoonshotConfig `mapstructure:"moonshot"`
|
||||
Grok GrokConfig `mapstructure:"grok"`
|
||||
Ollama OllamaConfig `mapstructure:"ollama"`
|
||||
Xiaomi XiaomiConfig `mapstructure:"xiaomi"`
|
||||
}
|
||||
|
||||
type OpenAIConfig struct {
|
||||
@@ -81,6 +82,13 @@ type OllamaConfig struct {
|
||||
Models []string `mapstructure:"models"`
|
||||
}
|
||||
|
||||
type XiaomiConfig struct {
|
||||
APIKeyEnv string `mapstructure:"api_key_env"`
|
||||
BaseURL string `mapstructure:"base_url"`
|
||||
DefaultModel string `mapstructure:"default_model"`
|
||||
Enabled bool `mapstructure:"enabled"`
|
||||
}
|
||||
|
||||
func Load() (*Config, error) {
|
||||
v := viper.New()
|
||||
|
||||
@@ -120,6 +128,11 @@ func Load() (*Config, error) {
|
||||
v.SetDefault("providers.ollama.enabled", false)
|
||||
v.SetDefault("providers.ollama.models", []string{})
|
||||
|
||||
v.SetDefault("providers.xiaomi.api_key_env", "XIAOMI_API_KEY")
|
||||
v.SetDefault("providers.xiaomi.base_url", "https://api.xiaomimimo.com/v1")
|
||||
v.SetDefault("providers.xiaomi.default_model", "mimo-v2.5")
|
||||
v.SetDefault("providers.xiaomi.enabled", true)
|
||||
|
||||
// Environment variables
|
||||
v.SetEnvPrefix("LLM_PROXY")
|
||||
v.SetEnvKeyReplacer(strings.NewReplacer(".", "__"))
|
||||
@@ -210,6 +223,8 @@ func (c *Config) GetAPIKey(provider string) (string, error) {
|
||||
case "ollama":
|
||||
// Ollama doesn't require an API key
|
||||
return "", nil
|
||||
case "xiaomi":
|
||||
envVar = c.Providers.Xiaomi.APIKeyEnv
|
||||
default:
|
||||
return "", fmt.Errorf("unknown provider: %s", provider)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user