HKUDS/DeepTutor · critical · RuntimeError
GraphRAG indexing failed: {detail}
Error message
GraphRAG indexing failed: {detail} What it means
Generic RuntimeError from _build_impl: the GraphRAG indexing run itself failed; the message aggregates up to the first three workflow errors as 'workflow: error' detail strings after unclassifiable errors (model errors that classify_model_error / embedding classification couldn't map).
Source
Thrown at deeptutor/services/rag/pipelines/graphrag/engine.py:350
config=config,
method=IndexingMethod.Standard,
is_update_run=is_update,
)
errors = [r for r in results if getattr(r, "error", None) is not None]
if errors:
for result in errors:
error = getattr(result, "error", None)
if isinstance(error, BaseException):
workflow = str(getattr(result, "workflow", "") or "").lower()
classified = (
classify_embedding_error(error)
if "embed" in workflow
else classify_model_error(error)
)
if classified is not None:
raise classified from error
detail = "; ".join(f"{r.workflow}: {r.error}" for r in errors[:3])
raise RuntimeError(f"GraphRAG indexing failed: {detail}")
async def _resolve_outputs(config, names: list[str], optional: list[str]) -> dict[str, Any]:
"""Load the requested output parquet tables as DataFrames (mirrors the CLI)."""
from graphrag.data_model.data_reader import DataReader
from graphrag_storage import create_storage
from graphrag_storage.tables.table_provider_factory import create_table_provider
storage_obj = create_storage(config.output_storage)
table_provider = create_table_provider(config.table_provider, storage=storage_obj)
reader = DataReader(table_provider)
frames: dict[str, Any] = {}
for name in names:
frames[name] = await getattr(reader, name)()
for name in optional:
frames[name] = await getattr(reader, name)() if await table_provider.has(name) else None
return framesView on GitHub (pinned to 3e82f13042)
Solutions
- Read the joined detail to see which workflow and underlying error failed, then address it directly.
- Retry the build after fixing rate limits/network/storage issues; indexing resumes over outputs.
- Check graphrag logs/output dir for full per-workflow errors beyond the first three.
- Align the installed graphrag package version with what DeepTutor's adapter expects.
Defensive patterns
Strategy: try-catch
Try / catch
try:
await build(root_dir)
except RuntimeError as e:
detail = str(e)
if not detail.startswith("GraphRAG indexing failed:"):
raise
persist_partial_failure(detail); notify_user(detail) Prevention
- Run both preflights before build.
- Keep graphrag package version pinned to what the adapter supports.
- Monitor rate limits during long indexing runs.
When it happens
Trigger: Running build() for a GraphRAG KB where one or more GraphRAG workflows (e.g. extract_graph, embed_text) errored during the indexing pipeline, with causes outside the recognized error taxonomy.
Common situations: Mid-index API rate limits/outages, malformed source documents crashing a workflow, GraphRAG library version mismatches, disk/full parquet write failures in the output dir.
Related errors
- GraphRAG is not installed. Run `pip install 'deeptutor[graph
- GraphRAG preflight failed: {failure_details}
- graphrag_model_output_truncated
- graphrag_model_incompatible
- graphrag_embedding_provider_unsupported
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/fb5e1fd6f4df0449.
Report an issue: GitHub.