{"record":{"id":"16de89bc8debd004","repo":"vercel/ai","slug":"hugging-face-responses-api-does-not-support-text-e","errorCode":null,"errorMessage":"Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.","messagePattern":"Hugging Face Responses API does not support text embeddings\\. Use the Hugging Face Inference API directly for embeddings\\.","errorType":"exception","errorClass":"NoSuchModelError","httpStatus":null,"severity":"error","filePath":"packages/huggingface/src/huggingface-provider.ts","lineNumber":95,"sourceCode":"  const createResponsesModel = (modelId: HuggingFaceResponsesModelId) => {\n    return new HuggingFaceResponsesLanguageModel(modelId, {\n      provider: 'huggingface.responses',\n      url: ({ path }) => `${baseURL}${path}`,\n      headers: getHeaders,\n      fetch: options.fetch,\n      generateId: options.generateId ?? generateId,\n    });\n  };\n\n  const provider = (modelId: HuggingFaceResponsesModelId) =>\n    createResponsesModel(modelId);\n\n  provider.specificationVersion = 'v4' as const;\n  provider.languageModel = createResponsesModel;\n  provider.responses = createResponsesModel;\n\n  provider.embeddingModel = (modelId: string) => {\n    throw new NoSuchModelError({\n      modelId,\n      modelType: 'embeddingModel',\n      message:\n        'Hugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.',\n    });\n  };\n  provider.textEmbeddingModel = provider.embeddingModel;\n\n  provider.imageModel = (modelId: string) => {\n    throw new NoSuchModelError({\n      modelId,\n      modelType: 'imageModel',\n      message:\n        'Hugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.',\n    });\n  };\n\n  return provider;","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/vercel/ai/blob/69428b1f8b037e4d118fb4853428d5c4e620493c/packages/huggingface/src/huggingface-provider.ts#L77-L113","documentation":"The Hugging Face provider's Responses API integration does not implement embedding models; provider.embeddingModel always throws NoSuchModelError. The AI SDK surfaces this when you request an embedding model from this provider. The library directs you to Hugging Face's Inference API (feature-extraction pipeline) for embeddings instead.","triggerScenarios":"Calling huggingface.embeddingModel('some-model-id') or passing the Hugging Face provider where an EmbeddingModel is required, e.g. embed({ model: huggingface.embeddingModel(...) }) or embedMany.","commonSituations":"Assuming the Hugging Face provider covers all model types like other providers (OpenAI, etc.); copying embed() examples and swapping in the Hugging Face provider; using a Responses-API-only provider instance configured via createHuggingface responses mode.","solutions":["Use Hugging Face's Inference API directly (e.g. its feature-extraction endpoint or a custom provider wrapper) for embeddings instead of this provider's embeddingModel.","Switch embeddings to a provider with embedding support, e.g. openai.embeddingModel('text-embedding-3-small') or another @ai-sdk provider.","If you only need text generation, use huggingface(modelId) / huggingface.responses(modelId) and keep embeddings on a different provider instance."],"exampleFix":"// before\nconst model = huggingface.embeddingModel('sentence-transformers/all-MiniLM-L6-v2');\n// after\nconst model = openai.embeddingModel('text-embedding-3-small'); // or use HF Inference API directly","handlingStrategy":"fallback","validationCode":"if (typeof (huggingface as any).embeddingModel === 'function') {\n  try { huggingface.embeddingModel('probe'); } catch { /* falls through to NoSuchModelError */ }\n}","typeGuard":"import { NoSuchModelError } from '@ai-sdk/provider';\nfunction isUnsupportedModelTypeError(e: unknown): e is NoSuchModelError {\n  return NoSuchModelError.isInstance(e);\n}","tryCatchPattern":"let embeddingModel;\ntry {\n  embeddingModel = huggingface.embeddingModel(id);\n} catch (e) {\n  if (NoSuchModelError.isInstance(e)) {\n    embeddingModel = openai.embeddingModel('text-embedding-3-small'); // fallback provider\n  } else throw e;\n}","preventionTips":["Check provider docs/packages for supported model types before using embeddings/image factories.","Centralize provider selection so embeddings always route to an embedding-capable provider.","Wrap provider factory calls in a helper that maps NoSuchModelError to a clear configuration error."],"tags":["unsupported-model-type","embeddings","provider-limitation"],"backgroundTag":"no-such-model-error","analyzedSha":"69428b1f8b037e4d118fb4853428d5c4e620493c","analyzedAt":"2026-08-30T12:32:21.016Z","schemaVersion":2},"datasetVersion":"2026-08-30T13:17:10.514Z"}