feat(providers): add Fireworks AI declarative provider (#9990)

Signed-off-by: Leo Walker <leowalker89@gmail.com>
This commit is contained in:
Leo Walker
2026-06-30 14:15:43 -07:00
committed by GitHub
parent c45f757c9d
commit 40bfb137ad
2 changed files with 79 additions and 0 deletions
@@ -0,0 +1,55 @@
{
"name": "fireworks-ai",
"engine": "openai",
"display_name": "Fireworks AI",
"description": "Fast serverless inference for open models with an OpenAI-compatible API",
"api_key_env": "FIREWORKS_API_KEY",
"base_url": "https://api.fireworks.ai/inference/v1/chat/completions",
"catalog_provider_id": "fireworks-ai",
"dynamic_models": false,
"models": [
{
"name": "accounts/fireworks/models/kimi-k2p7-code",
"context_limit": 262000
},
{
"name": "accounts/fireworks/models/kimi-k2p6",
"context_limit": 262000
},
{
"name": "accounts/fireworks/models/glm-5p2",
"context_limit": 1048576
},
{
"name": "accounts/fireworks/models/deepseek-v4-pro",
"context_limit": 1000000
},
{
"name": "accounts/fireworks/models/deepseek-v4-flash",
"context_limit": 1000000
},
{
"name": "accounts/fireworks/models/minimax-m3",
"context_limit": 512000
},
{
"name": "accounts/fireworks/models/qwen3p7-plus",
"context_limit": 262144
},
{
"name": "accounts/fireworks/models/glm-5p1",
"context_limit": 202800
},
{
"name": "accounts/fireworks/models/gpt-oss-120b",
"context_limit": 131072
},
{
"name": "accounts/fireworks/models/gpt-oss-20b",
"context_limit": 131072
}
],
"preserves_thinking": true,
"supports_streaming": true,
"model_doc_link": "https://fireworks.ai/models"
}
+24
View File
@@ -409,6 +409,30 @@ mod tests {
assert!(api_key.primary, "DASHSCOPE_API_KEY should be primary");
}
#[tokio::test]
async fn test_fireworks_declarative_provider_registry_wiring() {
let fireworks = get_from_registry("fireworks-ai")
.await
.expect("fireworks-ai provider should be registered");
let meta = fireworks.metadata();
assert_eq!(fireworks.provider_type(), ProviderType::Declarative);
assert_eq!(meta.display_name, "Fireworks AI");
assert_eq!(
meta.default_model,
"accounts/fireworks/models/kimi-k2p7-code"
);
assert_eq!(meta.model_doc_link, "https://fireworks.ai/models");
let api_key = meta
.config_keys
.iter()
.find(|k| k.name == "FIREWORKS_API_KEY")
.expect("FIREWORKS_API_KEY config key should exist");
assert!(api_key.required, "FIREWORKS_API_KEY should be required");
assert!(api_key.secret, "FIREWORKS_API_KEY should be secret");
}
#[tokio::test]
async fn test_openai_compatible_providers_config_keys() {
let providers_list = providers().await;