feat: more models

This commit is contained in:
2026-10-19 16:12:49 -04:00
parent b9daf9d6bf
commit 5dedf5fa07
3 changed files with 35 additions and 3 deletions

View File

@@ -240,9 +240,11 @@ impl Shortcut {
(P::NvidiaNim, "deepseek-ai/deepseek-v4.1-flash".into()),
(P::HuggingFace, "deepseek-ai/DeepSeek-V4.1-Flash".into()),
(P::OpenCode, "deepseek-v4.1-flash-free".into()),
(P::VercelAiGateway, "minimax/minimax-m3.1-flash".into()),
(P::OpenRouter, "minimax/minimax-m3.1-flash:free".into()),
(P::VercelAiGateway, "inclusionai/ling-3.1-flash".into()),
(P::HuggingFace, "inclusionAI/Ling-3.1-flash".into()),
(P::VercelAiGateway, "reflection/beam-free".into()),
(P::Ollama, "beam".into()),
(P::OpenCode, "beam-free".into()),
(P::VercelAiGateway, "xiaomi/mimo-v2.6-flash".into()),
@@ -270,6 +272,7 @@ impl Shortcut {
(P::HuggingFace, "zai-org/GLM-5.3".into()),
(P::CloudflareWorkersAi, "@cf/zai-org/glm-5.3".into()),
(P::Mistral, "zai-glm-5-3".into()),
(P::VercelAiGateway, "deepseek/deepseek-v4.1-flash-1017".into()),
(P::OpenCode, "muse-spark-1.3-contributor-free".into()),
(P::NvidiaNim, "moonshotai/kimi-k3".into()),
(P::HuggingFace, "moonshotai/Kimi-K3".into()),

View File

@@ -63,6 +63,7 @@ enum Provider {
Mistral,
NvidiaNim,
OpenRouter,
VercelAiGateway,
}
impl Shortcut {
@@ -72,9 +73,16 @@ impl Shortcut {
match self {
S::CodestralEmbed2505 => vec![(P::Mistral, "codestral-embed-2505".into())],
S::CohereEmbedV4_0 => vec![(P::Cohere, "embed-v4.0".into())],
S::CohereEmbedV5_0Fast => vec![(P::Cohere, "embed-v5.0-fast".into())],
S::CohereEmbedV5_0Pro => vec![(P::Cohere, "embed-v5.0-pro".into())],
S::CohereEmbedV4_0 => vec![(P::Cohere, "embed-v4.0".into()),
(P::VercelAiGateway, "cohere/embed-v4.0".into())],
S::CohereEmbedV5_0Fast => vec![
(P::Cohere, "embed-v5.0-fast".into()),
(P::VercelAiGateway, "cohere/embed-v5.0-fast".into()),
],
S::CohereEmbedV5_0Pro => vec![
(P::Cohere, "embed-v5.0-pro".into()),
(P::VercelAiGateway, "cohere/embed-v5.0-pro".into()),
],
S::GeminiEmbedding2 => vec![(P::GoogleAiStudio, "gemini-embedding-2".into())],
S::Lfm2_5Embedding350M => {
vec![(P::OpenRouter, "liquid/lfm-2.5-embedding-350m:free".into())]
@@ -201,6 +209,18 @@ pub async fn create_embeddings(
.build()
})
.collect(),
Provider::VercelAiGateway => state
.app_args
.vercel_ai_gateway_api_key
.iter()
.cloned()
.map(|api_key| {
Upstream::builder()
.url("https://ai-gateway.vercel.sh/v1/embeddings".parse().expect("TODO"))
.api_key(api_key)
.build()
})
.collect(),
};
if let Ok(upstreams) = Vec1::try_from(upstreams) {

View File

@@ -33,6 +33,7 @@ pub struct V1SystemOnePath;
pub enum Shortcut {
S,
M,
L,
}
#[derive(Debug, Clone)]
@@ -52,6 +53,7 @@ impl Shortcut {
match self {
S::S => {
vec![
(P::VercelAiGateway, "perplexity/pplx-decider-flash-v1.2".into()),
(P::LiquidAi, "d1:free".into()),
(P::CloudflareWorkersAi, "clef-omni".into()),
(P::CloudflareWorkersAi, "clef-flash".into()),
@@ -65,10 +67,17 @@ impl Shortcut {
S::M => {
vec![
(P::OpenCode, "jev-1.13-free".into()),
(P::VercelAiGateway, "perplexity/pplx-decider-v1.2".into()),
(P::CloudflareWorkersAi, "clef".into()),
(P::OpenRouter, "inception/mercury-decide:free".into()),
]
}
S::L => {
vec![
(P::VercelAiGateway, "liquid/d1-ultra".into())
]
}
}
}
}