chatbot-template/lib/ai/providers.ts
Walter Korman 6e6cf7830a fix quotes
2025-03-17 16:54:40 -07:00

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