feat(ai): add Fireworks provider support closes #3519
This commit is contained in:
49
packages/ai/test/fireworks-models.test.ts
Normal file
49
packages/ai/test/fireworks-models.test.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { getEnvApiKey } from "../src/env-api-keys.js";
|
||||
import { getModel } from "../src/models.js";
|
||||
|
||||
const originalFireworksApiKey = process.env.FIREWORKS_API_KEY;
|
||||
|
||||
afterEach(() => {
|
||||
if (originalFireworksApiKey === undefined) {
|
||||
delete process.env.FIREWORKS_API_KEY;
|
||||
} else {
|
||||
process.env.FIREWORKS_API_KEY = originalFireworksApiKey;
|
||||
}
|
||||
});
|
||||
|
||||
describe("Fireworks models", () => {
|
||||
it("registers the default Kimi K2.6 model via Anthropic-compatible Messages API", () => {
|
||||
const model = getModel("fireworks", "accounts/fireworks/models/kimi-k2p6");
|
||||
|
||||
expect(model).toBeDefined();
|
||||
expect(model.api).toBe("anthropic-messages");
|
||||
expect(model.provider).toBe("fireworks");
|
||||
expect(model.baseUrl).toBe("https://api.fireworks.ai/inference");
|
||||
expect(model.reasoning).toBe(true);
|
||||
expect(model.input).toEqual(["text", "image"]);
|
||||
expect(model.contextWindow).toBe(262000);
|
||||
expect(model.maxTokens).toBe(262000);
|
||||
expect(model.cost).toEqual({
|
||||
input: 0.95,
|
||||
output: 4,
|
||||
cacheRead: 0.16,
|
||||
cacheWrite: 0,
|
||||
});
|
||||
});
|
||||
|
||||
it("registers the Fire Pass turbo router model", () => {
|
||||
const model = getModel("fireworks", "accounts/fireworks/routers/kimi-k2p5-turbo");
|
||||
|
||||
expect(model).toBeDefined();
|
||||
expect(model.api).toBe("anthropic-messages");
|
||||
expect(model.baseUrl).toBe("https://api.fireworks.ai/inference");
|
||||
expect(model.input).toEqual(["text", "image"]);
|
||||
});
|
||||
|
||||
it("resolves FIREWORKS_API_KEY from the environment", () => {
|
||||
process.env.FIREWORKS_API_KEY = "test-fireworks-key";
|
||||
|
||||
expect(getEnvApiKey("fireworks")).toBe("test-fireworks-key");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user