mirror of
https://github.com/katanemo/plano.git
synced 2026-05-02 20:32:42 +02:00
feat: add OpenRouter as a first-class LLM provider (fixes #612)
This commit is contained in:
parent
128059e7c1
commit
f4571702e2
4 changed files with 13 additions and 2 deletions
|
|
@ -14,6 +14,7 @@ SUPPORTED_PROVIDERS_WITH_BASE_URL = [
|
||||||
"qwen",
|
"qwen",
|
||||||
"amazon_bedrock",
|
"amazon_bedrock",
|
||||||
"plano",
|
"plano",
|
||||||
|
"openrouter",
|
||||||
]
|
]
|
||||||
|
|
||||||
SUPPORTED_PROVIDERS_WITHOUT_BASE_URL = [
|
SUPPORTED_PROVIDERS_WITHOUT_BASE_URL = [
|
||||||
|
|
|
||||||
|
|
@ -190,6 +190,7 @@ properties:
|
||||||
- openai
|
- openai
|
||||||
- xiaomi
|
- xiaomi
|
||||||
- gemini
|
- gemini
|
||||||
|
- openrouter
|
||||||
routing_preferences:
|
routing_preferences:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|
@ -238,6 +239,7 @@ properties:
|
||||||
- openai
|
- openai
|
||||||
- xiaomi
|
- xiaomi
|
||||||
- gemini
|
- gemini
|
||||||
|
- openrouter
|
||||||
routing_preferences:
|
routing_preferences:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|
|
||||||
|
|
@ -370,6 +370,8 @@ pub enum LlmProviderType {
|
||||||
AmazonBedrock,
|
AmazonBedrock,
|
||||||
#[serde(rename = "plano")]
|
#[serde(rename = "plano")]
|
||||||
Plano,
|
Plano,
|
||||||
|
#[serde(rename = "openrouter")]
|
||||||
|
OpenRouter,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Display for LlmProviderType {
|
impl Display for LlmProviderType {
|
||||||
|
|
@ -391,6 +393,7 @@ impl Display for LlmProviderType {
|
||||||
LlmProviderType::Qwen => write!(f, "qwen"),
|
LlmProviderType::Qwen => write!(f, "qwen"),
|
||||||
LlmProviderType::AmazonBedrock => write!(f, "amazon_bedrock"),
|
LlmProviderType::AmazonBedrock => write!(f, "amazon_bedrock"),
|
||||||
LlmProviderType::Plano => write!(f, "plano"),
|
LlmProviderType::Plano => write!(f, "plano"),
|
||||||
|
LlmProviderType::OpenRouter => write!(f, "openrouter"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ pub enum ProviderId {
|
||||||
Zhipu,
|
Zhipu,
|
||||||
Qwen,
|
Qwen,
|
||||||
AmazonBedrock,
|
AmazonBedrock,
|
||||||
|
OpenRouter,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<&str> for ProviderId {
|
impl TryFrom<&str> for ProviderId {
|
||||||
|
|
@ -71,6 +72,7 @@ impl TryFrom<&str> for ProviderId {
|
||||||
"qwen" => Ok(ProviderId::Qwen),
|
"qwen" => Ok(ProviderId::Qwen),
|
||||||
"amazon_bedrock" => Ok(ProviderId::AmazonBedrock),
|
"amazon_bedrock" => Ok(ProviderId::AmazonBedrock),
|
||||||
"amazon" => Ok(ProviderId::AmazonBedrock), // alias
|
"amazon" => Ok(ProviderId::AmazonBedrock), // alias
|
||||||
|
"openrouter" => Ok(ProviderId::OpenRouter),
|
||||||
_ => Err(format!("Unknown provider: {}", value)),
|
_ => Err(format!("Unknown provider: {}", value)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -148,7 +150,8 @@ impl ProviderId {
|
||||||
| ProviderId::Ollama
|
| ProviderId::Ollama
|
||||||
| ProviderId::Moonshotai
|
| ProviderId::Moonshotai
|
||||||
| ProviderId::Zhipu
|
| ProviderId::Zhipu
|
||||||
| ProviderId::Qwen,
|
| ProviderId::Qwen
|
||||||
|
| ProviderId::OpenRouter,
|
||||||
SupportedAPIsFromClient::AnthropicMessagesAPI(_),
|
SupportedAPIsFromClient::AnthropicMessagesAPI(_),
|
||||||
) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions),
|
) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions),
|
||||||
|
|
||||||
|
|
@ -167,7 +170,8 @@ impl ProviderId {
|
||||||
| ProviderId::Ollama
|
| ProviderId::Ollama
|
||||||
| ProviderId::Moonshotai
|
| ProviderId::Moonshotai
|
||||||
| ProviderId::Zhipu
|
| ProviderId::Zhipu
|
||||||
| ProviderId::Qwen,
|
| ProviderId::Qwen
|
||||||
|
| ProviderId::OpenRouter,
|
||||||
SupportedAPIsFromClient::OpenAIChatCompletions(_),
|
SupportedAPIsFromClient::OpenAIChatCompletions(_),
|
||||||
) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions),
|
) => SupportedUpstreamAPIs::OpenAIChatCompletions(OpenAIApi::ChatCompletions),
|
||||||
|
|
||||||
|
|
@ -234,6 +238,7 @@ impl Display for ProviderId {
|
||||||
ProviderId::Zhipu => write!(f, "zhipu"),
|
ProviderId::Zhipu => write!(f, "zhipu"),
|
||||||
ProviderId::Qwen => write!(f, "qwen"),
|
ProviderId::Qwen => write!(f, "qwen"),
|
||||||
ProviderId::AmazonBedrock => write!(f, "amazon_bedrock"),
|
ProviderId::AmazonBedrock => write!(f, "amazon_bedrock"),
|
||||||
|
ProviderId::OpenRouter => write!(f, "openrouter"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue