LLM-based query rewriter.
Uses the configured LLM to transform conversational input into clear
search queries. This is the default rewriter used by Pipeline.rewrite/2.
Usage
# With Arcana.Pipeline (uses ctx.llm automatically)
ctx
|> Pipeline.rewrite()
|> Pipeline.search()
|> Pipeline.answer()
# Directly
{:ok, rewritten} = Arcana.Pipeline.Rewriter.LLM.rewrite(
"Hey, can you tell me about Elixir?",
llm: &my_llm/1
)