github simonw/llm 0.27

latest releases: 0.28, 0.27.1
4 months ago

This release adds support for the new GPT-5 family of models from OpenAI. It also enhances tool calling in a number of ways, including allowing templates to bundle pre-configured tools.

New features

  • New models: gpt-5, gpt-5-mini and gpt-5-nano. #1229
  • LLM templates can now include a list of tools. These can be named tools from plugins or arbitrary Python function blocks, see Tools in templates. #1009
  • Tools can now return attachments, for models that support features such as image input. #1014
  • New methods on the Toolbox class: .add_tool(), .prepare() and .prepare_async(), described in Dynamic toolboxes. #1111
  • New model.conversation(before_call=x, after_call=y) attributes for registering callback functions to run before and after tool calls. See tool debugging hooks for details. #1088
  • Some model providers can serve different models from the same configured URL - llm-llama-server for example. Plugins for these providers can now record the resolved model ID of the model that was used to the LLM logs using the response.set_resolved_model(model_id) method. #1117
  • Raising llm.CancelToolCall now only cancels the current tool call, passing an error back to the model and allowing it to continue. #1148
  • New -l/--latest option for llm logs -q searchterm for searching logs ordered by date (most recent first) instead of the default relevance search. #1177

Bug fixes and documentation

  • The register_embedding_models hook is now documented. #1049
  • Show visible stack trace for llm templates show invalid-template-name. #1053
  • Handle invalid tool names more gracefully in llm chat. #1104
  • Add a Tool plugins section to the plugin directory. #1110
  • Error on register(Klass) if the passed class is not a subclass of Toolbox. #1114
  • Add -h for --help for all llm CLI commands. #1134
  • Add missing dataclasses to advanced model plugins docs. #1137
  • Fixed a bug where llm logs -T llm_version "version" --async incorrectly recorded just one single log entry when it should have recorded two. #1150
  • All extra OpenAI model keys in extra-openai-models.yaml are now documented. #1228

Don't miss a new llm release

NewReleases is sending notifications on new releases.