mirror of
https://github.com/katanemo/plano.git
synced 2026-06-08 14:55:14 +02:00
Add first-class Xiaomi provider support (#863)
Some checks failed
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
CI / security-scan (push) Has been cancelled
CI / test-prompt-gateway (push) Has been cancelled
CI / test-model-alias-routing (push) Has been cancelled
CI / test-responses-api-with-state (push) Has been cancelled
CI / e2e-plano-tests (3.10) (push) Has been cancelled
CI / e2e-plano-tests (3.11) (push) Has been cancelled
CI / e2e-plano-tests (3.12) (push) Has been cancelled
CI / e2e-plano-tests (3.13) (push) Has been cancelled
CI / e2e-plano-tests (3.14) (push) Has been cancelled
CI / e2e-demo-preference (push) Has been cancelled
CI / e2e-demo-currency (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
Some checks failed
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
CI / security-scan (push) Has been cancelled
CI / test-prompt-gateway (push) Has been cancelled
CI / test-model-alias-routing (push) Has been cancelled
CI / test-responses-api-with-state (push) Has been cancelled
CI / e2e-plano-tests (3.10) (push) Has been cancelled
CI / e2e-plano-tests (3.11) (push) Has been cancelled
CI / e2e-plano-tests (3.12) (push) Has been cancelled
CI / e2e-plano-tests (3.13) (push) Has been cancelled
CI / e2e-plano-tests (3.14) (push) Has been cancelled
CI / e2e-demo-preference (push) Has been cancelled
CI / e2e-demo-currency (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
* feat(provider): add xiaomi as first-class provider * feat(demos): add xiaomi mimo integration demo * refactor(demos): remove Xiaomi MiMo integration demo and update documentation * updating model list and adding the xiamoi models --------- Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-389.local>
This commit is contained in:
parent
9406af3a09
commit
978b1ea722
8 changed files with 226 additions and 122 deletions
|
|
@ -21,6 +21,7 @@ SUPPORTED_PROVIDERS_WITHOUT_BASE_URL = [
|
||||||
"groq",
|
"groq",
|
||||||
"mistral",
|
"mistral",
|
||||||
"openai",
|
"openai",
|
||||||
|
"xiaomi",
|
||||||
"gemini",
|
"gemini",
|
||||||
"anthropic",
|
"anthropic",
|
||||||
"together_ai",
|
"together_ai",
|
||||||
|
|
|
||||||
|
|
@ -901,6 +901,33 @@ static_resources:
|
||||||
validation_context:
|
validation_context:
|
||||||
trusted_ca:
|
trusted_ca:
|
||||||
filename: {{ upstream_tls_ca_path | default('/etc/ssl/certs/ca-certificates.crt') }}
|
filename: {{ upstream_tls_ca_path | default('/etc/ssl/certs/ca-certificates.crt') }}
|
||||||
|
- name: xiaomi
|
||||||
|
connect_timeout: {{ upstream_connect_timeout | default('5s') }}
|
||||||
|
type: LOGICAL_DNS
|
||||||
|
dns_lookup_family: V4_ONLY
|
||||||
|
lb_policy: ROUND_ROBIN
|
||||||
|
load_assignment:
|
||||||
|
cluster_name: xiaomi
|
||||||
|
endpoints:
|
||||||
|
- lb_endpoints:
|
||||||
|
- endpoint:
|
||||||
|
address:
|
||||||
|
socket_address:
|
||||||
|
address: api.xiaomimimo.com
|
||||||
|
port_value: 443
|
||||||
|
hostname: "api.xiaomimimo.com"
|
||||||
|
transport_socket:
|
||||||
|
name: envoy.transport_sockets.tls
|
||||||
|
typed_config:
|
||||||
|
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
|
||||||
|
sni: api.xiaomimimo.com
|
||||||
|
common_tls_context:
|
||||||
|
tls_params:
|
||||||
|
tls_minimum_protocol_version: TLSv1_2
|
||||||
|
tls_maximum_protocol_version: TLSv1_3
|
||||||
|
validation_context:
|
||||||
|
trusted_ca:
|
||||||
|
filename: {{ upstream_tls_ca_path | default('/etc/ssl/certs/ca-certificates.crt') }}
|
||||||
- name: mistral_7b_instruct
|
- name: mistral_7b_instruct
|
||||||
connect_timeout: 0.5s
|
connect_timeout: 0.5s
|
||||||
type: STRICT_DNS
|
type: STRICT_DNS
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,7 @@ properties:
|
||||||
- groq
|
- groq
|
||||||
- mistral
|
- mistral
|
||||||
- openai
|
- openai
|
||||||
|
- xiaomi
|
||||||
- gemini
|
- gemini
|
||||||
routing_preferences:
|
routing_preferences:
|
||||||
type: array
|
type: array
|
||||||
|
|
@ -235,6 +236,7 @@ properties:
|
||||||
- groq
|
- groq
|
||||||
- mistral
|
- mistral
|
||||||
- openai
|
- openai
|
||||||
|
- xiaomi
|
||||||
- gemini
|
- gemini
|
||||||
routing_preferences:
|
routing_preferences:
|
||||||
type: array
|
type: array
|
||||||
|
|
|
||||||
|
|
@ -339,6 +339,8 @@ pub enum LlmProviderType {
|
||||||
Mistral,
|
Mistral,
|
||||||
#[serde(rename = "openai")]
|
#[serde(rename = "openai")]
|
||||||
OpenAI,
|
OpenAI,
|
||||||
|
#[serde(rename = "xiaomi")]
|
||||||
|
Xiaomi,
|
||||||
#[serde(rename = "gemini")]
|
#[serde(rename = "gemini")]
|
||||||
Gemini,
|
Gemini,
|
||||||
#[serde(rename = "xai")]
|
#[serde(rename = "xai")]
|
||||||
|
|
@ -370,6 +372,7 @@ impl Display for LlmProviderType {
|
||||||
LlmProviderType::Gemini => write!(f, "gemini"),
|
LlmProviderType::Gemini => write!(f, "gemini"),
|
||||||
LlmProviderType::Mistral => write!(f, "mistral"),
|
LlmProviderType::Mistral => write!(f, "mistral"),
|
||||||
LlmProviderType::OpenAI => write!(f, "openai"),
|
LlmProviderType::OpenAI => write!(f, "openai"),
|
||||||
|
LlmProviderType::Xiaomi => write!(f, "xiaomi"),
|
||||||
LlmProviderType::XAI => write!(f, "xai"),
|
LlmProviderType::XAI => write!(f, "xai"),
|
||||||
LlmProviderType::TogetherAI => write!(f, "together_ai"),
|
LlmProviderType::TogetherAI => write!(f, "together_ai"),
|
||||||
LlmProviderType::AzureOpenAI => write!(f, "azure_openai"),
|
LlmProviderType::AzureOpenAI => write!(f, "azure_openai"),
|
||||||
|
|
|
||||||
|
|
@ -316,6 +316,12 @@ fn fetch_all_models() -> Result<ProviderModels, Box<dyn std::error::Error>> {
|
||||||
"https://open.bigmodel.cn/api/paas/v4/models",
|
"https://open.bigmodel.cn/api/paas/v4/models",
|
||||||
"z-ai",
|
"z-ai",
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
"xiaomi",
|
||||||
|
"MIMO_API_KEY",
|
||||||
|
"https://api.xiaomimimo.com/v1/models",
|
||||||
|
"xiaomi",
|
||||||
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
// Fetch from OpenAI-compatible providers
|
// Fetch from OpenAI-compatible providers
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,18 @@
|
||||||
version: '1.0'
|
version: '1.0'
|
||||||
source: canonical-apis
|
source: canonical-apis
|
||||||
providers:
|
providers:
|
||||||
deepseek:
|
amazon:
|
||||||
- deepseek/deepseek-chat
|
- amazon/amazon.nova-pro-v1:0
|
||||||
- deepseek/deepseek-reasoner
|
- amazon/amazon.nova-2-lite-v1:0
|
||||||
|
- amazon/amazon.nova-2-sonic-v1:0
|
||||||
|
- amazon/amazon.titan-tg1-large
|
||||||
|
- amazon/amazon.nova-premier-v1:0:8k
|
||||||
|
- amazon/amazon.nova-premier-v1:0:20k
|
||||||
|
- amazon/amazon.nova-premier-v1:0:1000k
|
||||||
|
- amazon/amazon.nova-premier-v1:0:mm
|
||||||
|
- amazon/amazon.nova-premier-v1:0
|
||||||
|
- amazon/amazon.nova-lite-v1:0
|
||||||
|
- amazon/amazon.nova-micro-v1:0
|
||||||
google:
|
google:
|
||||||
- google/gemini-2.5-flash
|
- google/gemini-2.5-flash
|
||||||
- google/gemini-2.5-pro
|
- google/gemini-2.5-pro
|
||||||
|
|
@ -19,12 +28,13 @@ providers:
|
||||||
- google/gemma-3-27b-it
|
- google/gemma-3-27b-it
|
||||||
- google/gemma-3n-e4b-it
|
- google/gemma-3n-e4b-it
|
||||||
- google/gemma-3n-e2b-it
|
- google/gemma-3n-e2b-it
|
||||||
|
- google/gemma-4-26b-a4b-it
|
||||||
|
- google/gemma-4-31b-it
|
||||||
- google/gemini-flash-latest
|
- google/gemini-flash-latest
|
||||||
- google/gemini-flash-lite-latest
|
- google/gemini-flash-lite-latest
|
||||||
- google/gemini-pro-latest
|
- google/gemini-pro-latest
|
||||||
- google/gemini-2.5-flash-lite
|
- google/gemini-2.5-flash-lite
|
||||||
- google/gemini-2.5-flash-image
|
- google/gemini-2.5-flash-image
|
||||||
- google/gemini-2.5-flash-lite-preview-09-2025
|
|
||||||
- google/gemini-3-pro-preview
|
- google/gemini-3-pro-preview
|
||||||
- google/gemini-3-flash-preview
|
- google/gemini-3-flash-preview
|
||||||
- google/gemini-3.1-pro-preview
|
- google/gemini-3.1-pro-preview
|
||||||
|
|
@ -33,42 +43,77 @@ providers:
|
||||||
- google/gemini-3-pro-image-preview
|
- google/gemini-3-pro-image-preview
|
||||||
- google/nano-banana-pro-preview
|
- google/nano-banana-pro-preview
|
||||||
- google/gemini-3.1-flash-image-preview
|
- google/gemini-3.1-flash-image-preview
|
||||||
|
- google/lyria-3-clip-preview
|
||||||
|
- google/lyria-3-pro-preview
|
||||||
- google/gemini-robotics-er-1.5-preview
|
- google/gemini-robotics-er-1.5-preview
|
||||||
- google/gemini-2.5-computer-use-preview-10-2025
|
- google/gemini-2.5-computer-use-preview-10-2025
|
||||||
- google/deep-research-pro-preview-12-2025
|
- google/deep-research-pro-preview-12-2025
|
||||||
amazon:
|
mistralai:
|
||||||
- amazon/amazon.nova-pro-v1:0
|
- mistralai/mistral-medium-2505
|
||||||
- amazon/amazon.nova-2-lite-v1:0
|
- mistralai/mistral-medium-2508
|
||||||
- amazon/amazon.nova-2-sonic-v1:0
|
- mistralai/mistral-medium-latest
|
||||||
- amazon/amazon.titan-tg1-large
|
- mistralai/mistral-medium
|
||||||
- amazon/amazon.nova-premier-v1:0:8k
|
- mistralai/mistral-vibe-cli-with-tools
|
||||||
- amazon/amazon.nova-premier-v1:0:20k
|
- mistralai/open-mistral-nemo
|
||||||
- amazon/amazon.nova-premier-v1:0:1000k
|
- mistralai/open-mistral-nemo-2407
|
||||||
- amazon/amazon.nova-premier-v1:0:mm
|
- mistralai/mistral-tiny-2407
|
||||||
- amazon/amazon.nova-premier-v1:0
|
- mistralai/mistral-tiny-latest
|
||||||
- amazon/amazon.nova-lite-v1:0
|
- mistralai/codestral-2508
|
||||||
- amazon/amazon.nova-micro-v1:0
|
- mistralai/codestral-latest
|
||||||
x-ai:
|
- mistralai/devstral-2512
|
||||||
- x-ai/grok-3
|
- mistralai/mistral-vibe-cli-latest
|
||||||
- x-ai/grok-3-mini
|
- mistralai/devstral-medium-latest
|
||||||
- x-ai/grok-4-0709
|
- mistralai/devstral-latest
|
||||||
- x-ai/grok-4-1-fast-non-reasoning
|
- mistralai/mistral-small-2603
|
||||||
- x-ai/grok-4-1-fast-reasoning
|
- mistralai/mistral-small-latest
|
||||||
- x-ai/grok-4-fast-non-reasoning
|
- mistralai/mistral-vibe-cli-fast
|
||||||
- x-ai/grok-4-fast-reasoning
|
- mistralai/mistral-small-2506
|
||||||
- x-ai/grok-4.20-beta-0309-non-reasoning
|
- mistralai/magistral-medium-2509
|
||||||
- x-ai/grok-4.20-beta-0309-reasoning
|
- mistralai/magistral-medium-latest
|
||||||
- x-ai/grok-4.20-multi-agent-beta-0309
|
- mistralai/magistral-small-2509
|
||||||
- x-ai/grok-code-fast-1
|
- mistralai/magistral-small-latest
|
||||||
- x-ai/grok-imagine-image
|
- mistralai/labs-leanstral-2603
|
||||||
- x-ai/grok-imagine-video
|
- mistralai/mistral-large-2512
|
||||||
z-ai:
|
- mistralai/mistral-large-latest
|
||||||
- z-ai/glm-4.5
|
- mistralai/ministral-3b-2512
|
||||||
- z-ai/glm-4.5-air
|
- mistralai/ministral-3b-latest
|
||||||
- z-ai/glm-4.6
|
- mistralai/ministral-8b-2512
|
||||||
- z-ai/glm-4.7
|
- mistralai/ministral-8b-latest
|
||||||
- z-ai/glm-5
|
- mistralai/ministral-14b-2512
|
||||||
|
- mistralai/ministral-14b-latest
|
||||||
|
- mistralai/mistral-large-2411
|
||||||
|
- mistralai/pixtral-large-2411
|
||||||
|
- mistralai/pixtral-large-latest
|
||||||
|
- mistralai/mistral-large-pixtral-2411
|
||||||
|
- mistralai/devstral-small-2507
|
||||||
|
- mistralai/devstral-medium-2507
|
||||||
|
- mistralai/labs-mistral-small-creative
|
||||||
|
- mistralai/mistral-embed-2312
|
||||||
|
- mistralai/mistral-embed
|
||||||
|
- mistralai/codestral-embed
|
||||||
|
- mistralai/codestral-embed-2505
|
||||||
|
anthropic:
|
||||||
|
- anthropic/claude-sonnet-4-6
|
||||||
|
- anthropic/claude-opus-4-6
|
||||||
|
- anthropic/claude-opus-4-5-20251101
|
||||||
|
- anthropic/claude-opus-4-5
|
||||||
|
- anthropic/claude-haiku-4-5-20251001
|
||||||
|
- anthropic/claude-haiku-4-5
|
||||||
|
- anthropic/claude-sonnet-4-5-20250929
|
||||||
|
- anthropic/claude-sonnet-4-5
|
||||||
|
- anthropic/claude-opus-4-1-20250805
|
||||||
|
- anthropic/claude-opus-4-1
|
||||||
|
- anthropic/claude-opus-4-20250514
|
||||||
|
- anthropic/claude-opus-4
|
||||||
|
- anthropic/claude-sonnet-4-20250514
|
||||||
|
- anthropic/claude-sonnet-4
|
||||||
|
- anthropic/claude-3-haiku-20240307
|
||||||
|
- anthropic/claude-3-haiku
|
||||||
qwen:
|
qwen:
|
||||||
|
- qwen/qwen3.6-plus-2026-04-02
|
||||||
|
- qwen/qwen3.6-plus
|
||||||
|
- qwen/wan2.7-image
|
||||||
|
- qwen/deepseek-v3.2
|
||||||
- qwen/qwen3-asr-flash-2026-02-10
|
- qwen/qwen3-asr-flash-2026-02-10
|
||||||
- qwen/qwen3.5-flash-2026-02-23
|
- qwen/qwen3.5-flash-2026-02-23
|
||||||
- qwen/qwen3.5-flash
|
- qwen/qwen3.5-flash
|
||||||
|
|
@ -160,96 +205,40 @@ providers:
|
||||||
- qwen/qwen-max
|
- qwen/qwen-max
|
||||||
- qwen/qwen-plus
|
- qwen/qwen-plus
|
||||||
- qwen/qwen-turbo
|
- qwen/qwen-turbo
|
||||||
mistralai:
|
z-ai:
|
||||||
- mistralai/mistral-medium-2505
|
- z-ai/glm-4.5
|
||||||
- mistralai/mistral-medium-2508
|
- z-ai/glm-4.5-air
|
||||||
- mistralai/mistral-medium-latest
|
- z-ai/glm-4.6
|
||||||
- mistralai/mistral-medium
|
- z-ai/glm-4.7
|
||||||
- mistralai/mistral-vibe-cli-with-tools
|
- z-ai/glm-5
|
||||||
- mistralai/open-mistral-nemo
|
- z-ai/glm-5-turbo
|
||||||
- mistralai/open-mistral-nemo-2407
|
- z-ai/glm-5.1
|
||||||
- mistralai/mistral-tiny-2407
|
x-ai:
|
||||||
- mistralai/mistral-tiny-latest
|
- x-ai/grok-3
|
||||||
- mistralai/codestral-2508
|
- x-ai/grok-3-mini
|
||||||
- mistralai/codestral-latest
|
- x-ai/grok-4-0709
|
||||||
- mistralai/devstral-2512
|
- x-ai/grok-4-1-fast-non-reasoning
|
||||||
- mistralai/mistral-vibe-cli-latest
|
- x-ai/grok-4-1-fast-reasoning
|
||||||
- mistralai/devstral-medium-latest
|
- x-ai/grok-4-fast-non-reasoning
|
||||||
- mistralai/devstral-latest
|
- x-ai/grok-4-fast-reasoning
|
||||||
- mistralai/mistral-small-2506
|
- x-ai/grok-4.20-0309-non-reasoning
|
||||||
- mistralai/mistral-small-latest
|
- x-ai/grok-4.20-0309-reasoning
|
||||||
- mistralai/labs-mistral-small-creative
|
- x-ai/grok-4.20-multi-agent-0309
|
||||||
- mistralai/magistral-medium-2509
|
- x-ai/grok-code-fast-1
|
||||||
- mistralai/magistral-medium-latest
|
- x-ai/grok-imagine-image
|
||||||
- mistralai/magistral-small-2509
|
- x-ai/grok-imagine-video
|
||||||
- mistralai/magistral-small-latest
|
|
||||||
- mistralai/mistral-large-2512
|
|
||||||
- mistralai/mistral-large-latest
|
|
||||||
- mistralai/ministral-3b-2512
|
|
||||||
- mistralai/ministral-3b-latest
|
|
||||||
- mistralai/ministral-8b-2512
|
|
||||||
- mistralai/ministral-8b-latest
|
|
||||||
- mistralai/ministral-14b-2512
|
|
||||||
- mistralai/ministral-14b-latest
|
|
||||||
- mistralai/mistral-large-2411
|
|
||||||
- mistralai/pixtral-large-2411
|
|
||||||
- mistralai/pixtral-large-latest
|
|
||||||
- mistralai/mistral-large-pixtral-2411
|
|
||||||
- mistralai/devstral-small-2507
|
|
||||||
- mistralai/devstral-medium-2507
|
|
||||||
- mistralai/labs-devstral-small-2512
|
|
||||||
- mistralai/devstral-small-latest
|
|
||||||
- mistralai/mistral-squarepoint-2602
|
|
||||||
- mistralai/mistral-embed-2312
|
|
||||||
- mistralai/mistral-embed
|
|
||||||
- mistralai/codestral-embed
|
|
||||||
- mistralai/codestral-embed-2505
|
|
||||||
moonshotai:
|
|
||||||
- moonshotai/kimi-k2.5
|
|
||||||
- moonshotai/kimi-k2-0905-preview
|
|
||||||
- moonshotai/moonshot-v1-32k
|
|
||||||
- moonshotai/moonshot-v1-128k
|
|
||||||
- moonshotai/kimi-k2-thinking-turbo
|
|
||||||
- moonshotai/moonshot-v1-8k-vision-preview
|
|
||||||
- moonshotai/kimi-k2-0711-preview
|
|
||||||
- moonshotai/moonshot-v1-auto
|
|
||||||
- moonshotai/kimi-k2-thinking
|
|
||||||
- moonshotai/moonshot-v1-128k-vision-preview
|
|
||||||
- moonshotai/kimi-k2-turbo-preview
|
|
||||||
- moonshotai/moonshot-v1-32k-vision-preview
|
|
||||||
- moonshotai/moonshot-v1-8k
|
|
||||||
anthropic:
|
|
||||||
- anthropic/claude-sonnet-4-6
|
|
||||||
- anthropic/claude-opus-4-6
|
|
||||||
- anthropic/claude-opus-4-5-20251101
|
|
||||||
- anthropic/claude-opus-4-5
|
|
||||||
- anthropic/claude-haiku-4-5-20251001
|
|
||||||
- anthropic/claude-haiku-4-5
|
|
||||||
- anthropic/claude-sonnet-4-5-20250929
|
|
||||||
- anthropic/claude-sonnet-4-5
|
|
||||||
- anthropic/claude-opus-4-1-20250805
|
|
||||||
- anthropic/claude-opus-4-1
|
|
||||||
- anthropic/claude-opus-4-20250514
|
|
||||||
- anthropic/claude-opus-4
|
|
||||||
- anthropic/claude-sonnet-4-20250514
|
|
||||||
- anthropic/claude-sonnet-4
|
|
||||||
- anthropic/claude-3-haiku-20240307
|
|
||||||
- anthropic/claude-3-haiku
|
|
||||||
openai:
|
openai:
|
||||||
- openai/gpt-4-0613
|
- openai/gpt-4-0613
|
||||||
- openai/gpt-4
|
- openai/gpt-4
|
||||||
- openai/gpt-3.5-turbo
|
- openai/gpt-3.5-turbo
|
||||||
|
- openai/gpt-5.4-mini
|
||||||
- openai/gpt-5.4
|
- openai/gpt-5.4
|
||||||
- openai/gpt-5.3-chat-latest
|
- openai/gpt-5.4-nano-2026-03-17
|
||||||
- openai/gpt-5.4-2026-03-05
|
- openai/gpt-5.4-nano
|
||||||
- openai/gpt-5.4-pro
|
- openai/gpt-5.4-mini-2026-03-17
|
||||||
- openai/gpt-5.4-pro-2026-03-05
|
|
||||||
- openai/gpt-3.5-turbo-instruct
|
- openai/gpt-3.5-turbo-instruct
|
||||||
- openai/gpt-3.5-turbo-instruct-0914
|
- openai/gpt-3.5-turbo-instruct-0914
|
||||||
- openai/gpt-4-1106-preview
|
|
||||||
- openai/gpt-3.5-turbo-1106
|
- openai/gpt-3.5-turbo-1106
|
||||||
- openai/gpt-4-0125-preview
|
|
||||||
- openai/gpt-4-turbo-preview
|
|
||||||
- openai/gpt-3.5-turbo-0125
|
- openai/gpt-3.5-turbo-0125
|
||||||
- openai/gpt-4-turbo
|
- openai/gpt-4-turbo
|
||||||
- openai/gpt-4-turbo-2024-04-09
|
- openai/gpt-4-turbo-2024-04-09
|
||||||
|
|
@ -312,9 +301,34 @@ providers:
|
||||||
- openai/gpt-5.3-codex
|
- openai/gpt-5.3-codex
|
||||||
- openai/gpt-4o-search-preview
|
- openai/gpt-4o-search-preview
|
||||||
- openai/gpt-4o-search-preview-2025-03-11
|
- openai/gpt-4o-search-preview-2025-03-11
|
||||||
|
- openai/gpt-5.3-chat-latest
|
||||||
|
- openai/gpt-5.4-2026-03-05
|
||||||
|
- openai/gpt-5.4-pro
|
||||||
|
- openai/gpt-5.4-pro-2026-03-05
|
||||||
- openai/gpt-3.5-turbo-16k
|
- openai/gpt-3.5-turbo-16k
|
||||||
- openai/ft:gpt-3.5-turbo-0613:katanemo::8CMZbm0P
|
- openai/ft:gpt-3.5-turbo-0613:katanemo::8CMZbm0P
|
||||||
|
deepseek:
|
||||||
|
- deepseek/deepseek-chat
|
||||||
|
- deepseek/deepseek-reasoner
|
||||||
|
moonshotai:
|
||||||
|
- moonshotai/kimi-k2-thinking
|
||||||
|
- moonshotai/moonshot-v1-auto
|
||||||
|
- moonshotai/moonshot-v1-32k-vision-preview
|
||||||
|
- moonshotai/moonshot-v1-128k
|
||||||
|
- moonshotai/kimi-k2-turbo-preview
|
||||||
|
- moonshotai/kimi-k2-0905-preview
|
||||||
|
- moonshotai/moonshot-v1-128k-vision-preview
|
||||||
|
- moonshotai/moonshot-v1-32k
|
||||||
|
- moonshotai/moonshot-v1-8k-vision-preview
|
||||||
|
- moonshotai/kimi-k2.5
|
||||||
|
- moonshotai/moonshot-v1-8k
|
||||||
|
- moonshotai/kimi-k2-thinking-turbo
|
||||||
|
- moonshotai/kimi-k2-0711-preview
|
||||||
|
xiaomi:
|
||||||
|
- xiaomi/mimo-v2-flash
|
||||||
|
- xiaomi/mimo-v2-omni
|
||||||
|
- xiaomi/mimo-v2-pro
|
||||||
metadata:
|
metadata:
|
||||||
total_providers: 10
|
total_providers: 11
|
||||||
total_models: 303
|
total_models: 316
|
||||||
last_updated: 2026-03-15T16:47:22.207197+00:00
|
last_updated: 2026-04-03T23:14:46.956158+00:00
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ fn load_provider_models() -> &'static HashMap<String, Vec<String>> {
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub enum ProviderId {
|
pub enum ProviderId {
|
||||||
OpenAI,
|
OpenAI,
|
||||||
|
Xiaomi,
|
||||||
Mistral,
|
Mistral,
|
||||||
Deepseek,
|
Deepseek,
|
||||||
Groq,
|
Groq,
|
||||||
|
|
@ -51,6 +52,7 @@ impl TryFrom<&str> for ProviderId {
|
||||||
fn try_from(value: &str) -> Result<Self, Self::Error> {
|
fn try_from(value: &str) -> Result<Self, Self::Error> {
|
||||||
match value.to_lowercase().as_str() {
|
match value.to_lowercase().as_str() {
|
||||||
"openai" => Ok(ProviderId::OpenAI),
|
"openai" => Ok(ProviderId::OpenAI),
|
||||||
|
"xiaomi" => Ok(ProviderId::Xiaomi),
|
||||||
"mistral" => Ok(ProviderId::Mistral),
|
"mistral" => Ok(ProviderId::Mistral),
|
||||||
"deepseek" => Ok(ProviderId::Deepseek),
|
"deepseek" => Ok(ProviderId::Deepseek),
|
||||||
"groq" => Ok(ProviderId::Groq),
|
"groq" => Ok(ProviderId::Groq),
|
||||||
|
|
@ -84,6 +86,7 @@ impl ProviderId {
|
||||||
ProviderId::TogetherAI => "together",
|
ProviderId::TogetherAI => "together",
|
||||||
ProviderId::Gemini => "google",
|
ProviderId::Gemini => "google",
|
||||||
ProviderId::OpenAI => "openai",
|
ProviderId::OpenAI => "openai",
|
||||||
|
ProviderId::Xiaomi => "xiaomi",
|
||||||
ProviderId::Anthropic => "anthropic",
|
ProviderId::Anthropic => "anthropic",
|
||||||
ProviderId::Mistral => "mistralai",
|
ProviderId::Mistral => "mistralai",
|
||||||
ProviderId::Deepseek => "deepseek",
|
ProviderId::Deepseek => "deepseek",
|
||||||
|
|
@ -132,6 +135,7 @@ impl ProviderId {
|
||||||
// OpenAI-compatible providers only support OpenAI chat completions
|
// OpenAI-compatible providers only support OpenAI chat completions
|
||||||
(
|
(
|
||||||
ProviderId::OpenAI
|
ProviderId::OpenAI
|
||||||
|
| ProviderId::Xiaomi
|
||||||
| ProviderId::Groq
|
| ProviderId::Groq
|
||||||
| ProviderId::Mistral
|
| ProviderId::Mistral
|
||||||
| ProviderId::Deepseek
|
| ProviderId::Deepseek
|
||||||
|
|
@ -150,6 +154,7 @@ impl ProviderId {
|
||||||
|
|
||||||
(
|
(
|
||||||
ProviderId::OpenAI
|
ProviderId::OpenAI
|
||||||
|
| ProviderId::Xiaomi
|
||||||
| ProviderId::Groq
|
| ProviderId::Groq
|
||||||
| ProviderId::Mistral
|
| ProviderId::Mistral
|
||||||
| ProviderId::Deepseek
|
| ProviderId::Deepseek
|
||||||
|
|
@ -213,6 +218,7 @@ impl Display for ProviderId {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
ProviderId::OpenAI => write!(f, "OpenAI"),
|
ProviderId::OpenAI => write!(f, "OpenAI"),
|
||||||
|
ProviderId::Xiaomi => write!(f, "xiaomi"),
|
||||||
ProviderId::Mistral => write!(f, "Mistral"),
|
ProviderId::Mistral => write!(f, "Mistral"),
|
||||||
ProviderId::Deepseek => write!(f, "Deepseek"),
|
ProviderId::Deepseek => write!(f, "Deepseek"),
|
||||||
ProviderId::Groq => write!(f, "Groq"),
|
ProviderId::Groq => write!(f, "Groq"),
|
||||||
|
|
|
||||||
|
|
@ -496,6 +496,51 @@ Zhipu AI
|
||||||
- model: zhipu/glm-4.5-air
|
- model: zhipu/glm-4.5-air
|
||||||
access_key: $ZHIPU_API_KEY
|
access_key: $ZHIPU_API_KEY
|
||||||
|
|
||||||
|
Xiaomi MiMo
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
**Provider Prefix:** ``xiaomi/``
|
||||||
|
|
||||||
|
**API Endpoint:** ``/v1/chat/completions``
|
||||||
|
|
||||||
|
**Authentication:** API Key - Create your key in the `Xiaomi MiMo API Open Platform <https://platform.xiaomimimo.com/#/docs/quick-start/model-hyperparameters>`_ and set ``MIMO_API_KEY``.
|
||||||
|
|
||||||
|
**Supported Chat Models:** All Xiaomi MiMo chat models including mimo-v2-pro, mimo-v2-omni, mimo-v2-flash, and future chat model releases.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: 30 20 50
|
||||||
|
|
||||||
|
* - Model Name
|
||||||
|
- Model ID for Config
|
||||||
|
- Description
|
||||||
|
* - MiMo V2 Pro
|
||||||
|
- ``xiaomi/mimo-v2-pro``
|
||||||
|
- Highest capability general model
|
||||||
|
* - MiMo V2 Omni
|
||||||
|
- ``xiaomi/mimo-v2-omni``
|
||||||
|
- Multimodal-capable assistant model
|
||||||
|
* - MiMo V2 Flash
|
||||||
|
- ``xiaomi/mimo-v2-flash``
|
||||||
|
- Faster, lower-latency model
|
||||||
|
|
||||||
|
**Configuration Examples:**
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
llm_providers:
|
||||||
|
# Configure all known Xiaomi models with wildcard expansion
|
||||||
|
- model: xiaomi/*
|
||||||
|
access_key: $MIMO_API_KEY
|
||||||
|
|
||||||
|
# Or configure specific models
|
||||||
|
- model: xiaomi/mimo-v2-pro
|
||||||
|
access_key: $MIMO_API_KEY
|
||||||
|
default: true
|
||||||
|
|
||||||
|
- model: xiaomi/mimo-v2-omni
|
||||||
|
access_key: $MIMO_API_KEY
|
||||||
|
|
||||||
Providers Requiring Base URL
|
Providers Requiring Base URL
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
|
@ -733,7 +778,7 @@ Automatically configure all available models from a provider using wildcard patt
|
||||||
|
|
||||||
**How Wildcards Work:**
|
**How Wildcards Work:**
|
||||||
|
|
||||||
1. **Known Providers** (OpenAI, Anthropic, DeepSeek, Mistral, Groq, Gemini, Together AI, xAI, Moonshot, Zhipu):
|
1. **Known Providers** (OpenAI, Anthropic, DeepSeek, Mistral, Groq, Gemini, Together AI, xAI, Moonshot, Zhipu, Xiaomi):
|
||||||
|
|
||||||
- Expands at config load time to all models in Plano's provider registry
|
- Expands at config load time to all models in Plano's provider registry
|
||||||
- Creates entries for both canonical (``openai/gpt-4``) and short names (``gpt-4``)
|
- Creates entries for both canonical (``openai/gpt-4``) and short names (``gpt-4``)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue