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"), }, });