{"record":{"id":"0debd9e8634fbbd8","repo":"continuedev/continue","slug":"ai-sdk-provider-does-not-support-reranking","errorCode":null,"errorMessage":"AI SDK provider does not support reranking.","messagePattern":"AI SDK provider does not support reranking\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/openai-adapters/src/apis/AiSdk.ts","lineNumber":309,"sourceCode":"    }\n\n    const result = await embedMany({\n      model,\n      values: stringInputs,\n    });\n\n    return embedding({\n      data: result.embeddings,\n      model: modelId,\n      usage: {\n        prompt_tokens: result.usage?.tokens ?? 0,\n        total_tokens: result.usage?.tokens ?? 0,\n      },\n    });\n  }\n\n  async rerank(_body: RerankCreateParams): Promise<CreateRerankResponse> {\n    throw new Error(\"AI SDK provider does not support reranking.\");\n  }\n\n  async list(): Promise<Model[]> {\n    return [];\n  }\n}\n","sourceCodeStart":291,"sourceCodeEnd":316,"githubUrl":"https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/packages/openai-adapters/src/apis/AiSdk.ts#L291-L316","documentation":"The AiSdk adapter implements rerank as a throwing stub because the Vercel AI SDK has no reranking primitive. Any rerank request routed to an AI SDK provider fails immediately. Use an adapter backed by a rerank-capable service (Cohere, Jina, Mistral).","triggerScenarios":"Calling rerank(body) on an AiSdk adapter instance, typically from retrieval/RAG pipelines that rerank documents.","commonSituations":"Building RAG with an AI SDK provider (e.g. an AI SDK-hosted model) and assuming rerank works uniformly across all adapters because the interface exposes it.","solutions":["Use a rerank-capable adapter (CohereRerankAdapter, Jina, Mistral) for the rerank step","Skip reranking when the adapter doesn't support it, falling back to pure embedding similarity","Check adapter capabilities before building the retrieval pipeline"],"exampleFix":"// before\nconst res = await api.rerank({ query, documents, model: 'rerank-v1' });\n\n// after\nconst res = await cohereApi.rerank({ query, documents, model: 'rerank-v3.5' });","handlingStrategy":"fallback","validationCode":"if (api instanceof AiSdk) { return rankByEmbedding(query, docs); }","typeGuard":"function supportsRerank(api: BaseApi): boolean { return !(api instanceof AiSdk); }","tryCatchPattern":"try { return await api.rerank(body); }\ncatch (e) { if (/does not support reranking/.test(String(e))) return fallbackEmbeddingRerank(body); throw e; }","preventionTips":["Pair rerank steps with a dedicated rerank provider","Fall back to embedding similarity when rerank is unsupported"],"tags":["ai-sdk","rerank","rag","unsupported-feature"],"backgroundTag":"unsupported-api-method","analyzedSha":"5522c6f44ca0ac3528b37244818fbfa39b5af470","analyzedAt":"2026-08-27T11:28:54.683Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}