{"record":{"id":"b72857a06510f58f","repo":"vercel/ai","slug":"embeddingmodel-b72857","errorCode":null,"errorMessage":"embeddingModel","messagePattern":"embeddingModel","errorType":"exception","errorClass":"NoSuchModelError","httpStatus":null,"severity":"error","filePath":"packages/assemblyai/src/assemblyai-provider.ts","lineNumber":98,"sourceCode":"    return {\n      transcription: createTranscriptionModel(modelId),\n    };\n  };\n\n  provider.specificationVersion = 'v4' as const;\n  provider.transcription = createTranscriptionModel;\n  provider.transcriptionModel = createTranscriptionModel;\n\n  provider.languageModel = () => {\n    throw new NoSuchModelError({\n      modelId: 'unknown',\n      modelType: 'languageModel',\n      message: 'AssemblyAI does not provide language models',\n    });\n  };\n\n  provider.embeddingModel = (modelId: string) => {\n    throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n  };\n  provider.textEmbeddingModel = provider.embeddingModel;\n\n  provider.imageModel = (modelId: string) => {\n    throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n  };\n\n  return provider as AssemblyAIProvider;\n}\n\n/**\n * Default AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","sourceCodeStart":80,"sourceCodeEnd":113,"githubUrl":"https://github.com/vercel/ai/blob/69428b1f8b037e4d118fb4853428d5c4e620493c/packages/assemblyai/src/assemblyai-provider.ts#L80-L113","documentation":"AssemblyAI's `embeddingModel` (and therefore `textEmbeddingModel`) is a stub that unconditionally throws NoSuchModelError with modelType 'embeddingModel'. The provider offers no embeddings API.","triggerScenarios":"Calling `assemblyai.embeddingModel('any-id')` or `assemblyai.textEmbeddingModel(...)`; using the provider in `embed()`/`embedMany()` pipelines.","commonSituations":"Generic RAG stacks that request embeddings from whichever provider is configured; provider parity assumptions when swapping OpenAI for AssemblyAI in shared configuration.","solutions":["Use an embeddings-capable provider such as OpenAI (`createOpenAI().embedding('text-embedding-3-small')`), Google, or Amazon Bedrock.","Keep AssemblyAI strictly for transcription tasks and configure a separate embedding provider."],"exampleFix":"// before\nconst { embedding } = await embed({ model: assemblyai.embeddingModel('x'), value: text });\n// after\nconst { embedding } = await embed({ model: openai.embedding('text-embedding-3-small'), value: text });","handlingStrategy":"fallback","validationCode":"if (providerId === 'assemblyai') {\n  throw new Error('AssemblyAI provides no embeddings; configure an embeddings provider');\n}","typeGuard":"function supportsEmbeddings(p: any): boolean {\n  try {\n    p.embeddingModel?.('probe');\n    return true;\n  } catch (e) {\n    return !(NoSuchModelError.isInstance(e) && e.modelType === 'embeddingModel');\n  }\n}","tryCatchPattern":"try {\n  return assemblyai.textEmbeddingModel(id);\n} catch (error) {\n  if (NoSuchModelError.isInstance(error) && error.modelType === 'embeddingModel') {\n    return openai.embedding('text-embedding-3-small');\n  }\n  throw error;\n}","preventionTips":["Configure a dedicated embeddings provider (OpenAI, Google, Bedrock) in RAG stacks.","Never assume provider parity for embeddings across @ai-sdk packages.","Add a config assertion that the embeddings provider implements textEmbeddingModel."],"tags":["unsupported-model-type","embeddings","provider-capability"],"backgroundTag":"model-type-not-supported","analyzedSha":"69428b1f8b037e4d118fb4853428d5c4e620493c","analyzedAt":"2026-08-30T12:32:21.016Z","schemaVersion":2},"datasetVersion":"2026-08-30T13:17:10.514Z"}