{"record":{"id":"2744e8ea956e36ea","repo":"run-llama/llama_index","slug":"cannot-use-embedding-retriever-if-embed-summaries","errorCode":null,"errorMessage":"Cannot use embedding retriever if embed_summaries is False","messagePattern":"Cannot use embedding retriever if embed_summaries is False","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"llama-index-core/llama_index/core/indices/document_summary/base.py","lineNumber":135,"sourceCode":"        \"\"\"\n        Get retriever.\n\n        Args:\n            retriever_mode (Union[str, DocumentSummaryRetrieverMode]): A retriever mode.\n                Defaults to DocumentSummaryRetrieverMode.EMBEDDING.\n\n        \"\"\"\n        from llama_index.core.indices.document_summary.retrievers import (\n            DocumentSummaryIndexEmbeddingRetriever,\n            DocumentSummaryIndexLLMRetriever,\n        )\n\n        LLMRetriever = DocumentSummaryIndexLLMRetriever\n        EmbeddingRetriever = DocumentSummaryIndexEmbeddingRetriever\n\n        if retriever_mode == _RetrieverMode.EMBEDDING:\n            if not self._embed_summaries:\n                raise ValueError(\n                    \"Cannot use embedding retriever if embed_summaries is False\"\n                )\n\n            return EmbeddingRetriever(\n                self,\n                object_map=self._object_map,\n                embed_model=self._embed_model,\n                **kwargs,\n            )\n        if retriever_mode == _RetrieverMode.LLM:\n            return LLMRetriever(\n                self, object_map=self._object_map, llm=self._llm, **kwargs\n            )\n        else:\n            raise ValueError(f\"Unknown retriever mode: {retriever_mode}\")\n\n    def get_document_summary(self, doc_id: str) -> str:\n        \"\"\"","sourceCodeStart":117,"sourceCodeEnd":153,"githubUrl":"https://github.com/run-llama/llama_index/blob/afd0fef371831f9bda13e5af7167cf4e981278ab/llama-index-core/llama_index/core/indices/document_summary/base.py#L117-L153","documentation":"DocumentSummaryIndexEmbeddingRetriever ranks documents by embedding similarity over their summary nodes. Those summary embeddings only exist when the index was built with embed_summaries=True; with the default False, no embeddings were computed and stored, so requesting the EMBEDDING retriever mode raises ValueError at retriever construction time.","triggerScenarios":"DocumentSummaryIndex(..., embed_summaries=False).as_retriever(retriever_mode='embedding'); using the string or enum _RetrieverMode.EMBEDDING / DEFAULT-with-embedding paths on a default-constructed DocumentSummaryIndex.","commonSituations":"Following a retrieval-mode example without setting embed_summaries; switching a working LLM-mode setup to embedding mode after index construction; cost-conscious defaults (embed_summaries defaults to False) surprising users later.","solutions":["Rebuild the index with embed_summaries=True: DocumentSummaryIndex.from_documents(docs, embed_summaries=True).","Or keep the default index and use retriever_mode='llm' (DocumentSummaryIndexLLMRetriever), which needs no embeddings.","If using 'default' mode, note it routes to LLM retriever unless embeddings were built — set the mode explicitly."],"exampleFix":"# before\nindex = DocumentSummaryIndex.from_documents(docs)  # embed_summaries=False\nretriever = index.as_retriever(retriever_mode=\"embedding\")  # ValueError\n\n# after\nindex = DocumentSummaryIndex.from_documents(docs, embed_summaries=True)\nretriever = index.as_retriever(retriever_mode=\"embedding\")","handlingStrategy":"validation","validationCode":"if retriever_mode in (\"embedding\",) and not index._embed_summaries:\n    raise ValueError(\"Rebuild index with embed_summaries=True or use mode 'llm'\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Decide the retrieval mode before index construction and set embed_summaries accordingly.","Wrap retriever creation in a factory that validates mode against index configuration."],"tags":["document-summary-index","retriever","embeddings","validation"],"backgroundTag":null,"analyzedSha":"afd0fef371831f9bda13e5af7167cf4e981278ab","analyzedAt":"2026-08-15T05:42:58.429Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}