Skip to content
Main Site News Console

Large Language Models 0.33

· Simon Willison Translated
技巧LLM

Released: llm 0.33

The updates I focused on in this release are:

  • Upgraded to the OpenAI Python library 3.x and switched the HTTP client dependency from httpx to httpx2. #1608, #1631

I released the quick 0.32.1 fix yesterday to address this issue, but this release provides a more comprehensive fix.

  • llm embed and llm embed-multi now support --key. In Python, the EmbeddingModel.embed(), EmbeddingModel.embed_multi(), Collection.embed(), and Collection.embed_multi() methods also support key=, passing the resolved per-call key to the embedding plugin without changing the shared model state. Existing plugins that read self.key continue to work through a compatibility fallback. Thanks to ChrisJr404. #757, #1620

Embedding models now use the same key mechanism as regular LLM models.

  • llm prompt -t/--template can now be repeated to combine multiple templates in sequence. This makes it possible to combine model configuration and options from one template with a prompt from another template.

This enables a particularly useful pattern: creating templates that package a model together with a set of default options:

Terminal window
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
  • Models using the Responses API with reasoning support now support the reasoning_summary option, which can be set to auto, concise, or detailed. This option can be used with llm openai endpoint --responses. #1600

This is particularly useful for testing different models, since each provides its own simulated implementation of the OpenAI Responses API.