41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import {
|
|
customProvider,
|
|
extractReasoningMiddleware,
|
|
wrapLanguageModel,
|
|
} from "ai";
|
|
import { openai } from "@ai-sdk/openai";
|
|
import { fireworks } from "@ai-sdk/fireworks";
|
|
import { xai } from "@ai-sdk/xai";
|
|
import { isTestEnvironment } from "../constants";
|
|
import {
|
|
artifactModel,
|
|
chatModel,
|
|
reasoningModel,
|
|
titleModel,
|
|
} from "./models.test";
|
|
|
|
export const myProvider = isTestEnvironment
|
|
? customProvider({
|
|
languageModels: {
|
|
"chat-model-small": chatModel,
|
|
"chat-model-large": chatModel,
|
|
"chat-model-reasoning": reasoningModel,
|
|
"title-model": titleModel,
|
|
"artifact-model": artifactModel,
|
|
},
|
|
})
|
|
: customProvider({
|
|
languageModels: {
|
|
"chat-model-small": xai("grok-2-1212"),
|
|
"chat-model-reasoning": wrapLanguageModel({
|
|
model: fireworks("accounts/fireworks/models/deepseek-r1"),
|
|
middleware: extractReasoningMiddleware({ tagName: "think" }),
|
|
}),
|
|
"title-model": xai("grok-2-1212"),
|
|
"artifact-model": xai("grok-2-1212"),
|
|
},
|
|
imageModels: {
|
|
"small-model": openai.image("dall-e-2"),
|
|
"large-model": openai.image("dall-e-3"),
|
|
},
|
|
});
|