diff --git a/packages/core/script/generate-friendli.ts b/packages/core/script/generate-friendli.ts index 1b073558..c9cfa272 100644 --- a/packages/core/script/generate-friendli.ts +++ b/packages/core/script/generate-friendli.ts @@ -408,7 +408,13 @@ async function main() { process.exit(1); } - const apiModels = parsed.data.data; + const apiModels = parsed.data.data.filter((model) => { + if (!model.functionality.tool_call) { + console.log(`Skipping ${model.id}: tool_call not supported`); + return false; + } + return true; + }); // Get existing files (recursively) const existingFiles = new Set(); diff --git a/packages/core/src/schema.ts b/packages/core/src/schema.ts index 26850a70..df2b6f6a 100644 --- a/packages/core/src/schema.ts +++ b/packages/core/src/schema.ts @@ -73,6 +73,13 @@ export const Model = z api: z.string().optional(), }) .optional(), + variants: z + .record( + z.object({ + chat_template_kwargs: z.record(z.union([z.boolean(), z.string(), z.number()])).optional(), + }) + ) + .optional(), }) .strict() .refine( diff --git a/providers/friendli/models/LGAI-EXAONE/EXAONE-4.0.1-32B.toml b/providers/friendli/models/LGAI-EXAONE/EXAONE-4.0.1-32B.toml index a61fd84b..66a7d141 100644 --- a/providers/friendli/models/LGAI-EXAONE/EXAONE-4.0.1-32B.toml +++ b/providers/friendli/models/LGAI-EXAONE/EXAONE-4.0.1-32B.toml @@ -6,7 +6,7 @@ tool_call = true structured_output = true temperature = true release_date = "2025-07-31" -last_updated = "2025-12-23" +last_updated = "2026-01-12" open_weights = true [cost] @@ -20,3 +20,9 @@ output = 131_072 [modalities] input = ["text"] output = ["text"] + +[variants.off] +chat_template_kwargs = { enable_thinking = false } + +[variants.on] +chat_template_kwargs = { enable_thinking = true } diff --git a/providers/friendli/models/LGAI-EXAONE/K-EXAONE-236B-A23B.toml b/providers/friendli/models/LGAI-EXAONE/K-EXAONE-236B-A23B.toml index 6dedf0b8..58958648 100644 --- a/providers/friendli/models/LGAI-EXAONE/K-EXAONE-236B-A23B.toml +++ b/providers/friendli/models/LGAI-EXAONE/K-EXAONE-236B-A23B.toml @@ -6,7 +6,7 @@ tool_call = true structured_output = true temperature = true release_date = "2025-12-31" -last_updated = "2026-01-08" +last_updated = "2026-01-12" open_weights = true [cost] @@ -20,3 +20,9 @@ output = 262_144 [modalities] input = ["text"] output = ["text"] + +[variants.off] +chat_template_kwargs = { enable_thinking = false } + +[variants.on] +chat_template_kwargs = { enable_thinking = true } diff --git a/providers/friendli/models/Qwen/Qwen3-30B-A3B.toml b/providers/friendli/models/Qwen/Qwen3-30B-A3B.toml index 2a342b6a..39f0b539 100644 --- a/providers/friendli/models/Qwen/Qwen3-30B-A3B.toml +++ b/providers/friendli/models/Qwen/Qwen3-30B-A3B.toml @@ -6,7 +6,7 @@ tool_call = true structured_output = true temperature = true release_date = "2025-06-16" -last_updated = "2025-12-23" +last_updated = "2026-01-12" open_weights = true [limit] @@ -16,3 +16,9 @@ output = 8_000 [modalities] input = ["text"] output = ["text"] + +[variants.off] +chat_template_kwargs = { enable_thinking = false } + +[variants.on] +chat_template_kwargs = { enable_thinking = true } diff --git a/providers/friendli/models/Qwen/Qwen3-32B.toml b/providers/friendli/models/Qwen/Qwen3-32B.toml index 7b677f79..3103ff3b 100644 --- a/providers/friendli/models/Qwen/Qwen3-32B.toml +++ b/providers/friendli/models/Qwen/Qwen3-32B.toml @@ -6,7 +6,7 @@ tool_call = true structured_output = true temperature = true release_date = "2025-06-16" -last_updated = "2025-12-23" +last_updated = "2026-01-12" open_weights = true [limit] @@ -16,3 +16,9 @@ output = 8_000 [modalities] input = ["text"] output = ["text"] + +[variants.off] +chat_template_kwargs = { enable_thinking = false } + +[variants.on] +chat_template_kwargs = { enable_thinking = true } diff --git a/providers/friendli/models/meta-llama/Llama-4-Maverick-17B-128E-Instruct.toml b/providers/friendli/models/meta-llama/Llama-4-Maverick-17B-128E-Instruct.toml deleted file mode 100644 index 54599873..00000000 --- a/providers/friendli/models/meta-llama/Llama-4-Maverick-17B-128E-Instruct.toml +++ /dev/null @@ -1,18 +0,0 @@ -name = "Llama 4 Maverick 17B 128E Instruct" -family = "llama-4" -attachment = false -reasoning = true -tool_call = false -structured_output = true -temperature = true -release_date = "2025-06-16" -last_updated = "2025-12-23" -open_weights = true - -[limit] -context = 131_072 -output = 8_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/friendli/models/meta-llama/Llama-4-Scout-17B-16E-Instruct.toml b/providers/friendli/models/meta-llama/Llama-4-Scout-17B-16E-Instruct.toml deleted file mode 100644 index bed69ebe..00000000 --- a/providers/friendli/models/meta-llama/Llama-4-Scout-17B-16E-Instruct.toml +++ /dev/null @@ -1,18 +0,0 @@ -name = "Llama 4 Scout 17B 16E Instruct" -family = "llama-4" -attachment = false -reasoning = true -tool_call = false -structured_output = true -temperature = true -release_date = "2025-06-16" -last_updated = "2025-12-23" -open_weights = true - -[limit] -context = 131_072 -output = 8_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/friendli/models/zai-org/GLM-4.6.toml b/providers/friendli/models/zai-org/GLM-4.6.toml index b1828fb3..3f9eba3c 100644 --- a/providers/friendli/models/zai-org/GLM-4.6.toml +++ b/providers/friendli/models/zai-org/GLM-4.6.toml @@ -6,7 +6,7 @@ tool_call = true structured_output = true temperature = true release_date = "2025-10-31" -last_updated = "2025-12-23" +last_updated = "2026-01-12" open_weights = true [limit] @@ -16,3 +16,9 @@ output = 131_072 [modalities] input = ["text"] output = ["text"] + +[variants.off] +chat_template_kwargs = { enable_thinking = false } + +[variants.on] +chat_template_kwargs = { enable_thinking = true } diff --git a/providers/friendli/provider.toml b/providers/friendli/provider.toml index 277b34f7..185f1ede 100644 --- a/providers/friendli/provider.toml +++ b/providers/friendli/provider.toml @@ -1,4 +1,4 @@ -name = "Friendli" +name = "FriendliAI" env = ["FRIENDLI_TOKEN"] npm = "@ai-sdk/openai-compatible" api = "https://api.friendli.ai/serverless/v1"