ai.report

Write a report about a bundle of results -- Markdown with charts and named statistics -- for viz.report_html to render. Numbers in the text are computed by the renderer, never written by the model.

  • Kind: standard
  • Network: yes
  • Secrets: llm (optional) -- see Secrets

Inputs🔗

NameTypeRequiredDefaultDescription
bundledirectoryyesA base.bundle output: the tables, figures and results to report on.
descriptionstringyesWhat the artifact should do, in plain language.
modelstringyesModel identifier, exactly as the provider names it (e.g. claude-opus-5-5).
providerstringnoanthropicWho serves the model. The key is the block's llm secret. One of anthropic, openai, openai_compatible.
base_urlstringnoblankEndpoint for an OpenAI-compatible server (vLLM, Ollama, Azure, a gateway). Leave blank for the provider's own API.
sharestringnoschemaHow much of the data the model may see. Column names are always sent; summary statistics reveal values; samples send rows. Everything sent is recorded in the provenance output. One of schema, summary, samples.
max_turnsnumberno24Model calls before the block gives up.
max_tokensnumberno400000Input plus output tokens across all calls, billed to your key.
noncestringnoblankChange to generate afresh with nothing else changed; the block ignores its value.

Outputs🔗

NameTypeDescription
reportdirectoryreport.md, specs/ and stats.json.
provenancejsonEvery tool result sent to the model, the model and endpoint used, and token usage.

Example🔗

- id: "@report"
  name: ai.report
  inputs: [{block: "@bundle", output: bundle, as: bundle}]
  args:
    description: 'A short report on the plots: count, mean biomass, and the map.'
    provider: anthropic
    model: claude-opus-5-5
  secrets:
    llm: my-anthropic-key