42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
|
|
import {
|
||
|
|
customProvider,
|
||
|
|
extractReasoningMiddleware,
|
||
|
|
wrapLanguageModel,
|
||
|
|
} from 'ai';
|
||
|
|
import { openai } from '@ai-sdk/openai';
|
||
|
|
import { fireworks } from '@ai-sdk/fireworks';
|
||
|
|
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': openai('gpt-4o-mini'),
|
||
|
|
'chat-model-large': openai('gpt-4o'),
|
||
|
|
'chat-model-reasoning': wrapLanguageModel({
|
||
|
|
model: fireworks('accounts/fireworks/models/deepseek-r1'),
|
||
|
|
middleware: extractReasoningMiddleware({ tagName: 'think' }),
|
||
|
|
}),
|
||
|
|
'title-model': openai('gpt-4-turbo'),
|
||
|
|
'artifact-model': openai('gpt-4o-mini'),
|
||
|
|
},
|
||
|
|
imageModels: {
|
||
|
|
'small-model': openai.image('dall-e-2'),
|
||
|
|
'large-model': openai.image('dall-e-3'),
|
||
|
|
},
|
||
|
|
});
|