# `Arcana.Pipeline.Decomposer.LLM`
[🔗](https://github.com/georgeguimaraes/arcana/blob/main/lib/arcana/pipeline/decomposer/llm.ex#L1)

LLM-based query decomposer.

Uses the configured LLM to break complex questions into simpler sub-questions.
This is the default decomposer used by `Pipeline.decompose/2`.

## Usage

    # With Arcana.Pipeline (uses ctx.llm automatically)
    ctx
    |> Pipeline.decompose()
    |> Pipeline.search()
    |> Pipeline.answer()

    # Directly
    {:ok, sub_questions} = Arcana.Pipeline.Decomposer.LLM.decompose(
      "Compare Elixir and Go for web services",
      llm: &my_llm/1
    )

---

*Consult [api-reference.md](api-reference.md) for complete listing*
