{"record":{"id":"4f48e06d1d5c3f83","repo":"run-llama/llama_index","slug":"unknown-retriever-mode-retriever-mode","errorCode":null,"errorMessage":"Unknown retriever mode: {retriever_mode}","messagePattern":"Unknown retriever mode: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"llama-index-core/llama_index/core/indices/document_summary/base.py","lineNumber":150,"sourceCode":"\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        \"\"\"\n        Get document summary by doc id.\n\n        Args:\n            doc_id (str): A document id.\n\n        \"\"\"\n        if doc_id not in self._index_struct.doc_id_to_summary_id:\n            raise ValueError(f\"doc_id {doc_id} not in index\")\n        summary_id = self._index_struct.doc_id_to_summary_id[doc_id]\n        return self.docstore.get_node(summary_id).get_content()\n\n    def _add_nodes_to_index(\n        self,\n        index_struct: IndexDocumentSummary,\n        nodes: Sequence[BaseNode],","sourceCodeStart":132,"sourceCodeEnd":168,"githubUrl":"https://github.com/run-llama/llama_index/blob/afd0fef371831f9bda13e5af7167cf4e981278ab/llama-index-core/llama_index/core/indices/document_summary/base.py#L132-L168","documentation":"DocumentSummaryIndex.as_retriever dispatches on retriever_mode (LLM, EMBEDDING, DEFAULT) and raises ValueError(f\"Unknown retriever mode: {retriever_mode}\") for any other value. The mode must be a _RetrieverMode enum member or one of the equivalent strings.","triggerScenarios":"Passing a typo like retriever_mode='embed' or 'vector' instead of 'embedding'; passing a mode constant from a different index class's enum; passing None explicitly instead of omitting the argument.","commonSituations":"Copy/paste from VectorIndexRetriever examples where the mode vocabulary differs; hallucinated mode names; version drift if mode strings changed.","solutions":["Use exactly 'llm', 'embedding', or 'default' (or the corresponding DocumentSummaryIndex/_RetrieverMode enum members).","Inspect the accepted modes: from llama_index.core.indices.document_summary.base import _RetrieverMode; print(list(_RetrieverMode)).","Omit retriever_mode to get the DEFAULT mode."],"exampleFix":"# before\nretriever = index.as_retriever(retriever_mode=\"embed\")  # Unknown retriever mode\n\n# after\nretriever = index.as_retriever(retriever_mode=\"embedding\")  # requires embed_summaries=True\n# or\nretriever = index.as_retriever(retriever_mode=\"llm\")","handlingStrategy":"validation","validationCode":"valid_modes = {\"default\", \"llm\", \"embedding\"}\nif retriever_mode not in valid_modes:\n    raise ValueError(f\"retriever_mode must be one of {sorted(valid_modes)}\")","typeGuard":"def is_valid_retriever_mode(mode) -> bool:\n    return mode in {\"default\", \"llm\", \"embedding\"}","tryCatchPattern":"try:\n    retriever = index.as_retriever(retriever_mode=mode)\nexcept ValueError as e:\n    if \"Unknown retriever mode\" in str(e):\n        retriever = index.as_retriever()  # default mode\n    else:\n        raise","preventionTips":["Define mode strings as constants in your codebase instead of literals at call sites.","Validate user-supplied mode strings against the accepted set before forwarding them."],"tags":["document-summary-index","retriever","enum","validation"],"backgroundTag":null,"analyzedSha":"afd0fef371831f9bda13e5af7167cf4e981278ab","analyzedAt":"2026-08-15T05:42:58.429Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}