Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions packages/types/src/providers/fireworks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export type FireworksModelId =
| "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct"
| "accounts/fireworks/models/deepseek-r1-0528"
| "accounts/fireworks/models/deepseek-v3"
| "accounts/fireworks/models/deepseek-v3p1"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the intended naming convention here? I notice other model IDs in the codebase use hyphens for versioning (like ). Would be more consistent with the existing pattern, or is there a specific reason to avoid dots that also applies to hyphens?

| "accounts/fireworks/models/glm-4p5"
| "accounts/fireworks/models/glm-4p5-air"
| "accounts/fireworks/models/gpt-oss-20b"
Expand Down Expand Up @@ -62,6 +63,16 @@ export const fireworksModels = {
description:
"A strong Mixture-of-Experts (MoE) language model with 671B total parameters with 37B activated for each token from Deepseek. Note that fine-tuning for this model is only available through contacting fireworks at https://fireworks.ai/company/contact-us.",
},
"accounts/fireworks/models/deepseek-v3p1": {
maxTokens: 16384,
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.9,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The specifications (maxTokens, contextWindow, pricing) are identical to the v3 model above. If v3.1 truly has "enhanced performance, better reasoning capabilities, and improved code generation" as mentioned in the description, should any of these parameters reflect those improvements? Or are the enhancements purely in the model's internal architecture?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Total Context: 163.8K

Max Output: 163.8K

Input Price: $0.56

Output Price: $1.68

outputPrice: 0.9,
description:
"DeepSeek v3.1 is an improved version of the v3 model with enhanced performance, better reasoning capabilities, and improved code generation. This Mixture-of-Experts (MoE) model maintains the same 671B total parameters with 37B activated per token.",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we add a reference to official Fireworks or DeepSeek documentation about v3.1 to verify these specifications? This would help future maintainers understand where these values come from.

},
"accounts/fireworks/models/glm-4p5": {
maxTokens: 16384,
contextWindow: 128000,
Expand Down
21 changes: 21 additions & 0 deletions src/api/providers/__tests__/fireworks.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,27 @@ describe("FireworksHandler", () => {
)
})

it("should return DeepSeek V3.1 model with correct configuration", () => {
const testModelId: FireworksModelId = "accounts/fireworks/models/deepseek-v3p1"
const handlerWithModel = new FireworksHandler({
apiModelId: testModelId,
fireworksApiKey: "test-fireworks-api-key",
})
const model = handlerWithModel.getModel()
expect(model.id).toBe(testModelId)
expect(model.info).toEqual(
expect.objectContaining({
maxTokens: 16384,
contextWindow: 128000,
supportsImages: false,
supportsPromptCache: false,
inputPrice: 0.9,
outputPrice: 0.9,
description: expect.stringContaining("DeepSeek v3.1 is an improved version"),
}),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good test coverage for the configuration! Consider also adding a test that verifies the model can be properly instantiated and used in the FireworksHandler's method, similar to the existing tests for other models. This would ensure end-to-end functionality.

)
})

it("should return GLM-4.5 model with correct configuration", () => {
const testModelId: FireworksModelId = "accounts/fireworks/models/glm-4p5"
const handlerWithModel = new FireworksHandler({
Expand Down
Loading