When using the Vercel AI SDK with Replicate:
import { createReplicate } from '@ai-sdk/replicate';
import { generateText } from 'ai';
const replicate = createReplicate({
apiToken: process.env.REPLICATE_API_TOKEN ?? '',
});
const { text } = await generateText({
model: replicate.languageModel('deepseek'),
prompt: 'Why is deepseek better than chatGPT',
});
you may encounter the following error:
Error
After check the source code of vercel AI SDK, in current version(0.4.1), AI SDK replicate only supports image models.
/**
* Create a Replicate provider instance.
*/
export function createReplicate(
options: ReplicateProviderSettings = {},
): ReplicateProvider {
const createImageModel = (
modelId: ReplicateImageModelId,
settings?: ReplicateImageSettings,
) =>
new ReplicateImageModel(modelId, settings ?? {}, {
provider: 'replicate',
baseURL: options.baseURL ?? 'https://api.replicate.com/v1',
headers: {
Authorization: `Bearer ${loadApiKey({
apiKey: options.apiToken,
environmentVariableName: 'REPLICATE_API_TOKEN',
description: 'Replicate',
})}`,
...options.headers,
},
fetch: options.fetch,
});
return {
image: createImageModel,
imageModel: createImageModel,
languageModel: () => {
throw new NoSuchModelError({
modelId: 'languageModel',
modelType: 'languageModel',
});
},
textEmbeddingModel: () => {
throw new NoSuchModelError({
modelId: 'textEmbeddingModel',
modelType: 'textEmbeddingModel',
});
},
};
}