chatbot-template/lib/ai/providers.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import { gateway } from "@ai-sdk/gateway";
2025-03-04 17:25:46 -08:00
import {
customProvider,
extractReasoningMiddleware,
wrapLanguageModel,
} from "ai";
import { isTestEnvironment } from "../constants";
2025-03-04 17:25:46 -08:00
export const myProvider = isTestEnvironment
? (() => {
const {
artifactModel,
chatModel,
reasoningModel,
titleModel,
} = require("./models.mock");
return customProvider({
languageModels: {
"chat-model": chatModel,
"chat-model-reasoning": reasoningModel,
"title-model": titleModel,
"artifact-model": artifactModel,
},
});
})()
2025-03-04 17:25:46 -08:00
: customProvider({
languageModels: {
"chat-model": gateway.languageModel("xai/grok-2-vision-1212"),
"chat-model-reasoning": wrapLanguageModel({
model: gateway.languageModel("xai/grok-3-mini"),
middleware: extractReasoningMiddleware({ tagName: "think" }),
2025-03-04 17:25:46 -08:00
}),
"title-model": gateway.languageModel("xai/grok-2-1212"),
"artifact-model": gateway.languageModel("xai/grok-2-1212"),
2025-03-04 17:25:46 -08:00
},
});