Skip to content

Commit 312ac93

Browse files
feat(fireworks): add glm-5.1, kimi-k2.6 and deepseek-v4-pro models (#198)
Adds the three models requested in #198 to the Fireworks provider: - accounts/fireworks/models/glm-5p1 - accounts/fireworks/models/kimi-k2p6 - accounts/fireworks/models/deepseek-v4-pro Metadata mirrors the closest existing sibling in each family (glm-4p7, kimi-k2p5, deepseek-v3p2). Adds a parameterized test asserting the new models are exposed and selectable.
1 parent 3bd1a80 commit 312ac93

2 files changed

Lines changed: 54 additions & 0 deletions

File tree

packages/types/src/providers/fireworks.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export type FireworksModelId =
55
| "accounts/fireworks/models/kimi-k2-instruct-0905"
66
| "accounts/fireworks/models/kimi-k2-thinking"
77
| "accounts/fireworks/models/kimi-k2p5"
8+
| "accounts/fireworks/models/kimi-k2p6"
89
| "accounts/fireworks/models/minimax-m2"
910
| "accounts/fireworks/models/minimax-m2p1"
1011
| "accounts/fireworks/models/qwen3-235b-a22b-instruct-2507"
@@ -13,10 +14,12 @@ export type FireworksModelId =
1314
| "accounts/fireworks/models/deepseek-v3"
1415
| "accounts/fireworks/models/deepseek-v3p1"
1516
| "accounts/fireworks/models/deepseek-v3p2"
17+
| "accounts/fireworks/models/deepseek-v4-pro"
1618
| "accounts/fireworks/models/glm-4p5"
1719
| "accounts/fireworks/models/glm-4p5-air"
1820
| "accounts/fireworks/models/glm-4p6"
1921
| "accounts/fireworks/models/glm-4p7"
22+
| "accounts/fireworks/models/glm-5p1"
2023
| "accounts/fireworks/models/gpt-oss-20b"
2124
| "accounts/fireworks/models/gpt-oss-120b"
2225
| "accounts/fireworks/models/llama-v3p3-70b-instruct"
@@ -240,4 +243,35 @@ export const fireworksModels = {
240243
description:
241244
"Llama 4 Scout is a smaller, faster variant of Llama 4 with multimodal capabilities, ideal for quick iterations and cost-effective deployments.",
242245
},
246+
"accounts/fireworks/models/kimi-k2p6": {
247+
maxTokens: 16384,
248+
contextWindow: 262144,
249+
supportsImages: true,
250+
supportsPromptCache: true,
251+
inputPrice: 0.6,
252+
outputPrice: 3.0,
253+
cacheReadsPrice: 0.1,
254+
description:
255+
"Kimi K2.6 is Moonshot AI's latest flagship agentic model, building on K2.5 with stronger long-horizon reasoning, multi-step tool use, and unified vision/text understanding.",
256+
},
257+
"accounts/fireworks/models/deepseek-v4-pro": {
258+
maxTokens: 16384,
259+
contextWindow: 163840,
260+
supportsImages: false,
261+
supportsPromptCache: false,
262+
inputPrice: 0.56,
263+
outputPrice: 1.68,
264+
description:
265+
"DeepSeek V4 Pro is the latest iteration of the DeepSeek model family, with improved reasoning, code generation, and instruction following over the V3 series.",
266+
},
267+
"accounts/fireworks/models/glm-5p1": {
268+
maxTokens: 25344,
269+
contextWindow: 198000,
270+
supportsImages: false,
271+
supportsPromptCache: false,
272+
inputPrice: 0.55,
273+
outputPrice: 2.19,
274+
description:
275+
"Z.ai GLM-5.1 is the latest coding-focused model in the GLM family, with exceptional performance on complex programming tasks and enhanced reasoning and code generation quality.",
276+
},
243277
} as const satisfies Record<string, ModelInfo>

src/api/providers/__tests__/fireworks.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ describe("FireworksHandler", () => {
9494
expect(model.info).toEqual(expect.objectContaining(fireworksModels[testModelId]))
9595
})
9696

97+
it.each([
98+
"accounts/fireworks/models/glm-5p1",
99+
"accounts/fireworks/models/kimi-k2p6",
100+
"accounts/fireworks/models/deepseek-v4-pro",
101+
] as const satisfies readonly FireworksModelId[])("should expose newly added model %s", (modelId) => {
102+
expect(fireworksModels[modelId]).toBeDefined()
103+
const info = fireworksModels[modelId]
104+
expect(info.maxTokens).toBeGreaterThan(0)
105+
expect(info.contextWindow).toBeGreaterThan(0)
106+
expect(info.inputPrice).toBeGreaterThanOrEqual(0)
107+
expect(info.outputPrice).toBeGreaterThanOrEqual(0)
108+
expect(info.description).toBeTruthy()
109+
110+
const handlerWithModel = new FireworksHandler({
111+
apiModelId: modelId,
112+
fireworksApiKey: "test-fireworks-api-key",
113+
})
114+
expect(handlerWithModel.getModel().id).toBe(modelId)
115+
})
116+
97117
it("should return Kimi K2 Instruct model with correct configuration", () => {
98118
const testModelId: FireworksModelId = "accounts/fireworks/models/kimi-k2-instruct"
99119
const handlerWithModel = new FireworksHandler({

0 commit comments

Comments
 (0)