Release: llm 0.33
My highlights from this release:
I shipped a quick 0.32.1 fix for this yesterday, but this is the more comprehensive fix.
llm embed
andllm embed-multi
now accept--key
. The PythonEmbeddingModel.embed()
,EmbeddingModel.embed_multi()
,Collection.embed()
andCollection.embed_multi()
methods acceptkey=
too, passing the resolved per-call key to embedding plugins without changing shared model state. Existing plugins that readself.key
continue to work through a compatibility fallback. Thanks,[ChrisJr404].[#757],[#1620]
The embedding models now use the same pattern for keys that regular LLM models do.
llm prompt -t/--template
can now be repeated to combine templates in order. This allows model configuration and options from one template to be used with a prompt from another.
This unlocks a neat pattern where you can create templates that package a model with a set of default options:
llm -m gpt-5.6-luna -o reasoning_effort high --save lhigh
llm "Generate an SVG of a pelican riding a bicycle" --save pelican
llm -t lhigh -t pelican
- Reasoning-capable Responses API models now support a
reasoning_summary
option withauto
,concise
, anddetailed
values. This can be used with[llm openai endpoint --responses].[#1600]
This is particularly useful for exercising different models that provide their own imitation of the OpenAI Responses API.
Tags: annotated-release-notes, llm