Issues
Vercel AI SDK + Replicate [AI_NoSuchModelError]: No such languageModel: languageModel

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