{"record":{"id":"20502c25758ac332","repo":"run-llama/llama_index","slug":"openaimultimodal-is-not-installed-please-install","errorCode":null,"errorMessage":"OpenAIMultiModal is not installed. Please install it using `pip install llama-index-multi-modal-llms-openai`","messagePattern":"OpenAIMultiModal is not installed\\. Please install it using `pip install llama-index-multi-modal-llms-openai`","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"llama-index-core/llama_index/core/evaluation/multi_modal/relevancy.py","lineNumber":73,"sourceCode":"            The template to use for refinement.\n\n    \"\"\"\n\n    def __init__(\n        self,\n        multi_modal_llm: Optional[LLM] = None,\n        raise_error: bool = False,\n        eval_template: Union[str, BasePromptTemplate, None] = None,\n        refine_template: Union[str, BasePromptTemplate, None] = None,\n    ) -> None:\n        \"\"\"Init params.\"\"\"\n        if multi_modal_llm is None:\n            try:\n                from llama_index.llms.openai import (\n                    OpenAIResponses,\n                )  # pants: no-infer-dep\n            except ImportError:\n                raise ImportError(\n                    \"OpenAIMultiModal is not installed. \"\n                    \"Please install it using `pip install llama-index-multi-modal-llms-openai`\"\n                )\n\n            self._multi_modal_llm: LLM = OpenAIResponses(\n                model=\"gpt-4.1\", max_output_tokens=1000\n            )\n        else:\n            self._multi_modal_llm = multi_modal_llm\n\n        self._raise_error = raise_error\n\n        self._eval_template: BasePromptTemplate\n        if isinstance(eval_template, str):\n            self._eval_template = PromptTemplate(eval_template)\n        else:\n            self._eval_template = eval_template or DEFAULT_EVAL_TEMPLATE\n","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/run-llama/llama_index/blob/afd0fef371831f9bda13e5af7167cf4e981278ab/llama-index-core/llama_index/core/evaluation/multi_modal/relevancy.py#L55-L91","documentation":"Raised by RelevancyEvaluator.__init__ (multi-modal) when multi_modal_llm is not supplied and the optional integration package llama-index-llms-openai cannot be imported. The evaluator needs a default OpenAI LLM (OpenAIResponses, model gpt-4.1) to judge relevancy, so construction fails fast when the dependency is missing. It is an optional dependency of llama-index-core and is not installed by default.","triggerScenarios":"Constructing MultiModalRelevancyEvaluator (llama_index.core.evaluation.multi_modal.relevancy) without passing multi_modal_llm in an environment where `import llama_index.llms.openai` raises ImportError (package llama-index-multi-modal-llms-openai / llama-index-llms-openai not installed).","commonSituations":"Installing only llama-index-core or llama-index and assuming all evaluators work; fresh venv/CI image without the OpenAI extra; upgrading llama-index and hitting split-out integration packages (post-monorepo split each LLM lives in its own package).","solutions":["pip install llama-index-multi-modal-llms-openai (pulls llama-index-llms-openai)","Or pass your own LLM: MultiModalRelevancyEvaluator(multi_modal_llm=my_llm) to bypass the import entirely","If it must work offline, supply any LLM implementing llama_index.core.llms.LLM (e.g. a local Ollama or mock LLM)"],"exampleFix":"# before\nevaluator = MultiModalRelevancyEvaluator()  # ImportError\n\n# after\n# pip install llama-index-multi-modal-llms-openai\nfrom llama_index.llms.openai import OpenAIResponses\nevaluator = MultiModalRelevancyEvaluator(\n    multi_modal_llm=OpenAIResponses(model=\"gpt-4.1\", max_output_tokens=1000)\n)","handlingStrategy":"validation","validationCode":"def has_openai_integration() -> bool:\n    try:\n        import llama_index.llms.openai  # noqa: F401\n        return True\n    except ImportError:\n        return False\n\nif not has_openai_integration():\n    raise SystemExit(\"Install llama-index-multi-modal-llms-openai or pass multi_modal_llm\")\n\nfrom llama_index.core.evaluation.multi_modal.relevancy import MultiModalRelevancyEvaluator\nevaluator = MultiModalRelevancyEvaluator()","typeGuard":null,"tryCatchPattern":"try:\n    evaluator = MultiModalRelevancyEvaluator()\nexcept ImportError as e:\n    if \"llama-index-multi-modal-llms-openai\" in str(e):\n        logger.error(\"Missing optional integration; installing it or supply multi_modal_llm\")\n    raise","preventionTips":["Pin llama-index-multi-modal-llms-openai in requirements whenever you use multi-modal evaluators","Pass an explicit multi_modal_llm to make construction independent of optional packages","Smoke-test evaluator construction at app startup so dependency gaps surface before long eval runs"],"tags":["import-error","dependency","multi-modal","evaluation","openai"],"backgroundTag":null,"analyzedSha":"afd0fef371831f9bda13e5af7167cf4e981278ab","analyzedAt":"2026-08-15T05:42:58.429Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}