Arcana.Pipeline.Answerer.LLM (Arcana v2.0.1)

Copy Markdown View Source

LLM-based answer generator.

Uses the configured LLM to generate answers from retrieved context. This is the default answerer used by Pipeline.answer/2.

Usage

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

# Directly
{:ok, answer} = Arcana.Pipeline.Answerer.LLM.answer(
  "What is Elixir?",
  chunks,
  llm: &my_llm/1
)

Custom Prompts

Pipeline.answer(ctx,
  prompt: fn question, chunks ->
    context = Enum.map_join(chunks, "

", & &1.text)

    "Answer: " <> question <> "

Context: " <> context

  end
)