run-llama/llama_index · error · ImportError
`llama-index-question-gen-openai` package cannot be found. P
Error message
`llama-index-question-gen-openai` package cannot be found. Please install it by using `pip install `llama-index-question-gen-openai`
What it means
SubQuestionQueryEngine.from_defaults tries to build an OpenAIQuestionGenerator (function-calling based) when no question_gen is given. If the optional llama-index-question-gen-openai package is not installed, the ImportError is re-raised with install instructions instead of silently degrading.
Source
Thrown at llama-index-core/llama_index/core/query_engine/sub_question_query_engine.py:112
use_async: bool = True,
) -> "SubQuestionQueryEngine":
callback_manager = Settings.callback_manager
if len(query_engine_tools) > 0:
callback_manager = query_engine_tools[0].query_engine.callback_manager
llm = llm or Settings.llm
if question_gen is None:
try:
from llama_index.question_gen.openai import (
OpenAIQuestionGenerator,
) # pants: no-infer-dep
# try to use OpenAI function calling based question generator.
# if incompatible, use general LLM question generator
question_gen = OpenAIQuestionGenerator.from_defaults(llm=llm)
except ImportError as e:
raise ImportError(
"`llama-index-question-gen-openai` package cannot be found. "
"Please install it by using `pip install `llama-index-question-gen-openai`"
)
except ValueError:
question_gen = LLMQuestionGenerator.from_defaults(llm=llm)
synth = response_synthesizer or get_response_synthesizer(
llm=llm,
callback_manager=callback_manager,
use_async=use_async,
)
return cls(
question_gen,
synth,
query_engine_tools,
callback_manager=callback_manager,
verbose=verbose,View on GitHub (pinned to afd0fef371)
Solutions
- pip install llama-index-question-gen-openai
- Or pass an explicit question_gen: SubQuestionQueryEngine.from_defaults(..., question_gen=LLMQuestionGenerator.from_defaults()) which lives in core
- Or install the bundle: pip install llama-index question-gen extras appropriate to your setup
Example fix
// before
engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=tools) # raises ImportError
// after
# pip install llama-index-question-gen-openai
engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=tools)
# alternative (no extra install):
from llama_index.core.question_gen import LLMQuestionGenerator
engine = SubQuestionQueryEngine.from_defaults(
query_engine_tools=tools,
question_gen=LLMQuestionGenerator.from_defaults(),
) Defensive patterns
Strategy: try-catch
Validate before calling
try:
from llama_index.question_gen.openai import OpenAIQuestionGenerator # noqa
HAS_QG_OPENAI = True
except ImportError:
HAS_QG_OPENAI = False
from llama_index.core.question_gen import LLMQuestionGenerator
question_gen = (
OpenAIQuestionGenerator.from_defaults()
if HAS_QG_OPENAI
else LLMQuestionGenerator.from_defaults()
) Try / catch
try:
engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=tools)
except ImportError as e:
if "llama-index-question-gen-openai" in str(e):
# either install it, or fall back to the core generator
engine = SubQuestionQueryEngine.from_defaults(
query_engine_tools=tools,
question_gen=LLMQuestionGenerator.from_defaults(),
)
else:
raise Prevention
- Install optional integration packages explicitly rather than relying on extras resolution
- Pin integration versions in lockfiles to survive upgrades
- Pass question_gen explicitly in airgapped/minimal environments
When it happens
Trigger: Calling SubQuestionQueryEngine.from_defaults(query_engine_tools=[...], question_gen=None) (or omitting question_gen) in an environment where llama-index-question-gen-openai is not installed.
Common situations: Minimal llama-index-core installs, or dependency resolution dropping the optional integration package after an upgrade; also happens when OpenAIQuestionGenerator.from_defaults succeeds on import but the model lacks function-calling (that path falls back to LLMQuestionGenerator via the ValueError branch instead).
Related errors
- Please install nltk: `pip install nltk`
- Please install rake_nltk: `pip install rake_nltk`
- WandbCallbackHandler is not installed. Please install it usi
- OpenInferenceCallbackHandler is not installed. Please instal
- ArizePhoenixCallbackHandler is not installed. Please install
AI-assisted analysis of run-llama/llama_index@afd0fef371 (2026-08-15).
Data as JSON: /api/errors/888a64a1cdb80bc6.
Report an issue: GitHub.