Version 0.26.0 of package Llm has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Llm describes itself as: =================================== Interface to pluggable llm backends =================================== More at https://elpa.gnu.org/packages/llm.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━ LLM PACKAGE FOR EMACS ━━━━━━━━━━━━━━━━━━━━━━━ 1 Introduction ══════════════ This library provides an interface for interacting with Large Language Models (LLMs). It allows elisp code to use LLMs while also giving end-users the choice to select their preferred LLM. This is particularly beneficial when working with LLMs since various high-quality models exist, some of which have paid API access, while others are locally installed and free but offer medium quality. Applications using LLMs can utilize this library to ensure compatibility regardless of whether the user has a local LLM or is paying for API access. ## Recent NEWS: 1 Version 0.26.0 ════════════════ • Call tools with `nil' when called with false JSON values. • Fix bug in ollama batch embedding generation. • Add Qwen 3 and Gemma 3 to model list. • Fix broken model error message • Fix reasoning model and streaming incompatibility 2 Version 0.25.0 ════════════════ • Add `llm-ollama-authed' provider, which is like Ollama but takes a key. • Set Gemini 2.5 Pro to be the default Gemini model • Fix `llm-batch-embeddings-async' so it returns all embeddings • Add Open AI 4.1, o3, Gemini 2.5 Flash 3 Version 0.24.2 ════════════════ • Fix issue with some Open AI compatible providers needing models to be passed by giving a non-nil default. • Add Gemini 2.5 Pro • Fix issue with JSON return specs which pass booleans 4 Version 0.24.1 ════════════════ • Fix issue with Ollama incorrect requests when passing non-standard params. 5 Version 0.24.0 ════════════════ • Add `multi-output' as an option, allowing all llm results to return, call, or stream multiple kinds of data via a plist. This allows separating out reasoning, as well as optionally returning text as well as tool uses at the same time. • Added `llm-models' to get a list of models from a provider. • Fix misnamed `llm-capabilities' output to refer to `tool-use' and `streaming-tool-use' (which is new). • Fixed Claude streaming tool use (via Paul Nelson) • Added Deepseek service • Add Gemini 2.0 pro experimental model, default to 2.0 flash • Add Open AI's o3 mini model • Add Claude 3.7 sonnet • Fix Claude's capabilities to reflect that it can use tools • Added ability to set `keep_alive' option for Ollama correctly. 6 Version 0.23.0 ════════════════ • Add GitHub's GitHub Models • Accept lists as nonstandard • Add Deepseek R1 model • Show the chat model as the name for Open-AI compatible models (via [@whhone]) [@whhone] <https://github.com/whhone> 7 Version 0.22.0 ════════════════ • Change `llm-tool-function' to `llm-tool', change `make-llm-tool-function' to take any arguments. 8 Version 0.21.0 ════════════════ • Incompatible change to function calling, which is now tool use, affecting arguments and methods. • Support image understanding in Claude • Support streaming tool use in Claude • Add `llm-models-add' as a convenience method to add a model to the known list. 9 Version 0.20.0 ════════════════ • Add ability to output according to a JSON spec. • Add Gemini 2.0 Flash, Gemini 2.0 Flash Thinking, and Llama 3.3 and QwQ models. 10 Version 0.19.1 ═════════════════ • Fix Open AI context length sizes, which are mostly smaller than advertised. 11 Version 0.19.0 ═════════════════ • Add JSON mode, for most providers with the exception of Claude. • Add ability for keys to be functions, thanks to Daniel Mendler. 12 Version 0.18.1 ═════════════════ • Fix extra argument in `llm-batch-embeddings-async'. 13 Version 0.18.0 ═════════════════ • Add media handling, for images, videos, and audio. • Add batch embeddings capability (currently for just Open AI and Ollama). • Add Microsoft Azure's Open AI • Remove testing and other development files from ELPA packaging. • Remove vendored `plz-event-source' and `plz-media-type', and add requirements. • Update list of Ollama models for function calling. • Centralize model list so things like Vertex and Open AI compatible libraries can have more accurate context lengths and capabilities. • Update default Gemini chat model to Gemini 1.5 Pro. • Update default Claude chat model to latest Sonnet version. • Fix issue in some Open AI compatible providers with empty function call arguments 14 Version 0.17.4 ═════════════════ • Fix problem with Open AI's `llm-chat-token-limit'. • Fix Open AI and Gemini's parallel function calling. • Add variable `llm-prompt-default-max-tokens' to put a cap on number of tokens regardless of model size. 15 Version 0.17.3 ═════════════════ • More fixes with Claude and Ollama function calling conversation, thanks to Paul Nelson. • Make `llm-chat-streaming-to-point' more efficient, just inserting new text, thanks to Paul Nelson. • Don't output streaming information when `llm-debug' is true, since it tended to be overwhelming. 16 Version 0.17.2 ═════════════════ • Fix compiled functions not being evaluated in `llm-prompt'. • Use Ollama's new `embed' API instead of the obsolete one. • Fix Claude function calling conversations … …