feat: kilo gateway
This commit is contained in:
@@ -48,6 +48,9 @@ pub struct AppArgs {
|
||||
#[arg(long)]
|
||||
pub hugging_face_api_key: Vec<SecretString>,
|
||||
|
||||
#[arg(long)]
|
||||
pub kilo_api_key: Vec<SecretString>,
|
||||
|
||||
#[arg(long)]
|
||||
pub liquid_ai_api_key: Vec<SecretString>,
|
||||
|
||||
|
||||
@@ -101,6 +101,7 @@ impl Shortcut {
|
||||
(P::VercelAiGateway, "liquid/lfm2.5-24b-a2b".into()),
|
||||
(P::GoogleAiStudio, "gemma-4-26b-a4b-it".into()),
|
||||
(P::OpenRouter, "google/gemma-4-26b-a4b-it:free".into()),
|
||||
(P::Kilo, "google-gemma-4-26b-a4b-it-free".into()),
|
||||
(P::HuggingFace, "google/gemma-4-26B-A4B-it".into()),
|
||||
(P::NvidiaNim, "poolside/laguna-xs-2.1".into()),
|
||||
(P::OpenRouter, "poolside/laguna-xs-2.1:free".into()),
|
||||
@@ -132,6 +133,7 @@ impl Shortcut {
|
||||
(P::NvidiaNim, "meta/llama-3.2-11b-vision-instruct".into()),
|
||||
(P::OpenRouter, "liquid/lfm-2.5-2.6b:free".into()),
|
||||
(P::Groq, "groq/compound-mini".into()),
|
||||
(P::Kilo, "kilo-auto/free".into()),
|
||||
(P::OpenRouter, "openrouter/free".into()),
|
||||
],
|
||||
|
||||
@@ -161,10 +163,13 @@ impl Shortcut {
|
||||
),
|
||||
(P::OpenRouter, "nvidia/nemotron-3.5-super-vl:free".into()),
|
||||
(P::Mistral, "mistral-medium-3.5".into()),
|
||||
(P::Kilo, "inclusionai-ling-3-0-flash-free".into()),
|
||||
(P::NovitaAi, "inclusionai/ling-3.0-flash-vl".into()),
|
||||
(P::Kilo, "inclusionai-ling-3-0-flash-vl-free".into()),
|
||||
(P::OpenRouter, "inclusionai/ling-3.0-flash-vl:free".into()),
|
||||
(P::VercelAiGateway, "inclusionai/ling-3.0-flash-vl".into()),
|
||||
(P::VercelAiGateway, "poolside/laguna-s-2.1-free".into()),
|
||||
(P::Kilo, "poolside-laguna-s-2-1-free".into()),
|
||||
(P::OpenRouter, "poolside/laguna-s-2.1:free".into()),
|
||||
(P::VercelAiGateway, "stepfun/step-3.7-flash".into()),
|
||||
(P::NovitaAi, "inclusionai/ling-3.0-flash-fin".into()),
|
||||
@@ -181,6 +186,7 @@ impl Shortcut {
|
||||
),
|
||||
(P::VercelAiGateway, "mistral/mistral-large-3".into()),
|
||||
(P::NvidiaNim, "nvidia/nemotron-3-super-120b-a12b".into()),
|
||||
(P::Kilo, "nvidia-nemotron-3-super-120b-a12b-free".into()),
|
||||
(
|
||||
P::OpenRouter,
|
||||
"nvidia/nemotron-3-super-120b-a12b:free".into(),
|
||||
@@ -193,6 +199,7 @@ impl Shortcut {
|
||||
],
|
||||
|
||||
S::L => vec![
|
||||
(P::Kilo, "step-5-preview-free".into()),
|
||||
(P::NvidiaNim, "stepfun-ai/step-5-preview".into()),
|
||||
(P::CloudflareWorkersAi, "@cf/zai-org/glm-5.3-flash".into()),
|
||||
(P::NvidiaNim, "z-ai/glm-5-3-flash".into()),
|
||||
@@ -205,12 +212,19 @@ impl Shortcut {
|
||||
(P::HuggingFace, "XiaomiMiMo/MiMo-V2.6-Flash-RL".into()),
|
||||
(P::VercelAiGateway, "inclusionai/ling-3.1-flash".into()),
|
||||
(P::HuggingFace, "inclusionAI/Ling-3.1-flash".into()),
|
||||
(P::Kilo, "nex-agi-nex-n2-5-pro-free".into()),
|
||||
(P::VercelAiGateway, "xiaomi/mimo-v2.5".into()),
|
||||
(P::Kilo, "dots-studio-dots-3-note-preview-free".into()),
|
||||
(P::OpenRouter, "dots-studio/dots-3-note-preview:free".into()),
|
||||
(P::Kilo, "minimax-minimax-m3-free".into()),
|
||||
(P::HuggingFace, "MiniMaxAI/MiniMax-M3".into()),
|
||||
(P::VercelAiGateway, "tencent/hy3".into()),
|
||||
(P::Kilo, "tencent-hy3-free".into()),
|
||||
(P::Kilo, "tencent-hy3-preview-free".into()),
|
||||
(P::OpenRouter, "thinkingmachines/inkling-small:free".into()),
|
||||
(P::HuggingFace, "thinkingmachines/Inkling-Small".into()),
|
||||
(P::NvidiaNim, "nvidia/nemotron-3-ultra-550b-a55b".into()),
|
||||
(P::Kilo, "nvidia-nemotron-3-ultra-550b-a55b-free".into()),
|
||||
],
|
||||
|
||||
S::XL => vec![
|
||||
@@ -225,7 +239,6 @@ impl Shortcut {
|
||||
(P::HuggingFace, "moonshotai/Kimi-K3".into()),
|
||||
(P::HuggingFace, "Qwen/Qwen3.8-2.4T-A95B".into()),
|
||||
(P::VercelAiGateway, "xiaomi/mimo-v2.5-pro".into()),
|
||||
(P::VercelAiGateway, "tencent/hy3".into()),
|
||||
(P::OpenRouter, "thinkingmachines/inkling:free".into()),
|
||||
(P::HuggingFace, "thinkingmachines/Inkling".into()),
|
||||
(P::VercelAiGateway, "thinkingmachines/inkling".into()),
|
||||
@@ -372,6 +385,18 @@ pub async fn create_chat_completion(
|
||||
.build()
|
||||
})
|
||||
.collect(),
|
||||
Provider::Kilo => state
|
||||
.app_args
|
||||
.kilo_api_key
|
||||
.iter()
|
||||
.cloned()
|
||||
.map(|api_key| {
|
||||
Upstream::builder()
|
||||
.url("https://api.kilo.ai/api/gateway/v1/chat/completions".parse().expect("TODO"))
|
||||
.api_key(api_key)
|
||||
.build()
|
||||
})
|
||||
.collect(),
|
||||
Provider::LiquidAi => unreachable!(),
|
||||
Provider::Mistral => state
|
||||
.app_args
|
||||
|
||||
@@ -159,6 +159,7 @@ pub async fn create_embeddings(
|
||||
.build()
|
||||
})
|
||||
.collect(),
|
||||
Provider::Kilo => unreachable!(),
|
||||
Provider::LiquidAi => unreachable!(),
|
||||
Provider::Mistral => state
|
||||
.app_args
|
||||
|
||||
@@ -26,6 +26,7 @@ enum Provider {
|
||||
GoogleAiStudio,
|
||||
Groq,
|
||||
HuggingFace,
|
||||
Kilo,
|
||||
LiquidAi,
|
||||
Mistral,
|
||||
NovitaAi,
|
||||
|
||||
@@ -121,6 +121,7 @@ pub async fn create_system_one(
|
||||
Provider::GoogleAiStudio => unreachable!(),
|
||||
Provider::Groq => unreachable!(),
|
||||
Provider::HuggingFace => unreachable!(),
|
||||
Provider::Kilo => unreachable!(),
|
||||
Provider::LiquidAi => state
|
||||
.app_args
|
||||
.liquid_ai_api_key
|
||||
|
||||
Reference in New Issue
Block a user