Decompose a multi-hop question

The rewriter is already doing light decomposition. When the original question mixes two topics, diverse reformulations often split the topics naturally: one rewrite emphasizes one sub-topic, another emphasizes the other. Each rewrite becomes its own child-graph invocation, and the parent fuses the chunks.

example request
json
{
  "question": "which node runs before the synthesizer and how does the pipeline handle embedding failures?",
  "rewrite_n": 3,
  "anonymize": false,
  "with_evaluation": false
}

A multi-hop question with two clear sub-topics: node ordering and failure handling. We will watch the rewriter split these and the sub-graph retrieve for each.

In the response, rewrites typically look like "which node executes directly before the synthesizer", "how does the retriever handle embedding generation errors", and a keyword-heavy "langgraph node order embedding failure". Each variant pulls different chunks. The parent dedupes by source and chunk_index, then passes the fused set to the synthesizer.

Ordering exercise: Order the decomposition flow for one request

Loading practice…