See also LLM 0.22, the annotated release notes.
- Plugins that provide models that use API keys can now subclass the new
llm.KeyModel
andllm.AsyncKeyModel
classes. This results in the API key being passed as a newkey
parameter to their.execute()
methods, and means that Python users can pass a key as themodel.prompt(..., key=)
- see Passing an API key. Plugin developers should consult the new documentation on writing Models that accept API keys. #744 - New OpenAI model:
chatgpt-4o-latest
. This model ID accesses the current model being used to power ChatGPT, which can change without warning. #752 - New
llm logs -s/--short
flag, which returns a greatly shortened version of the matching log entries in YAML format with a truncated prompt and without including the response. #737 - Both
llm models
andllm embed-models
now take multiple-q
search fragments. You can now search for all models matching "gemini" and "exp" usingllm models -q gemini -q exp
. #748 - New
llm embed-multi --prepend X
option for prepending a string to each value before it is embedded - useful for models such as nomic-embed-text-v2-moe that require passages to start with a string like"search_document: "
. #745 - The
response.json()
andresponse.usage()
methods are now documented. - Fixed a bug where conversations that were loaded from the database could not be continued using
asyncio
prompts. #742 - New plugin for macOS users: llm-mlx, which provides extremely high performance access to a wide range of local models using Apple's MLX framework.
- The
llm-claude-3
plugin has been renamed to llm-anthropic.