[NonGNU ELPA] Gptel version 0.9.9
ELPA update <[email protected]>
| Newsgroups | gmane.emacs.sources |
|---|---|
| Message-ID | <[email protected]> |
Version 0.9.9 of package Gptel has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.
Gptel describes itself as:
===================================
Interact with ChatGPT or other LLMs
===================================
More at https://elpa.nongnu.org/nongnu/gptel.html
## Summary:
gptel is a simple Large Language Model chat client, with support for multiple
models and backends.
It works in the spirit of Emacs, available at any time and in any buffer.
gptel supports:
- The services ChatGPT, Azure, Gemini, Anthropic AI, Together.ai, Perplexity,
AI/ML API, Anyscale, OpenRouter, Groq, PrivateGPT, DeepSeek, Cerebras, Github Models,
GitHub Copilot chat, AWS Bedrock, Novita AI, xAI, Sambanova, Mistral Le
Chat and Kagi (FastGPT & Summarizer).
- Local models via Ollama, Llama.cpp, Llamafiles or GPT4All
Additionally, any LLM service (local or remote) that provides an
OpenAI-compatible API is supported.
Features:
## Recent NEWS:
# -*- mode: org; -*-
* 0.9.9 2025-08-02
** Breaking changes
- The suffix =-latest= has been dropped from Grok models, as they are
no longer required. So the models =grok-3-latest=,
=grok-3-mini-latest= have been renamed to just =grok-3=,
=grok-3-mini= and so on.
- The models =gemini-exp-1206=, =gemini-2.5-pro-preview-03-25=,
=gemini-2.5-pro-preview-05-06=, =gemini-2.5-flash-preview-04-17=
have been removed from the default list of Gemini models. The first
one is no longer available, and the others are superseded by their
stable, non-preview versions. If required, you can add these models
back to the Gemini backend in your personal configuration:
#+begin_src emacs-lisp
(push 'gemini-2.5-pro-preview-03-25
(gptel-backend-models (gptel-get-backend "Gemini")))
#+end_src
** New models and backends
- Add support for ~grok-code-fast-1~.
- Add support for ~gpt-5~, ~gpt-5-mini~ and ~gpt-5-nano~.
- Add support for ~claude-opus-4-1-20250805~.
- Add support for ~gemini-2.5-pro~, ~gemini-2.5-flash~,
~gemini-2.5-flash-lite-preview-06-17~.
- Add support for Open WebUI. Open WebUI provides an
OpenAI-compatible API, so the "support" is just a new section of the
README with instructions.
- Add support for Moonshot (Kimi), in a similar sense.
- Add support for the AI/ML API, in a similar sense.
- Add support for ~grok-4~.
** New features and UI changes
- ~gptel-rewrite~ now no longer pops up a Transient menu. Instead, it
reads a rewrite instruction and starts the rewrite immediately. This
is intended to reduce the friction of using ~gptel-rewrite~. You can
still bring up the Transient menu by pressing =M-RET= instead of =RET=
when supplying the rewrite instruction. If no region is selected and
there are pending rewrites, the rewrite menu is displayed.
- ~gptel-rewrite~ will now produce more refined merge conflicts when
using the merge action. It works by feeding the original and
rewritten text to git (when it is available).
- New command ~gptel-gh-login~ to authenticate with GitHub Copilot. The
authentication step happens automatically when you use gptel, so
invoking it manually is not required. But you can use this command to
change accounts or refresh your login if required.
- gptel now supports handling reasoning/thinking blocks in responses
from xAI's Grok models. This is controlled by
~gptel-include-reasoning~, in the same way that it handles other
APIs.
- When including a file in the context, the abbreviated full path of
the file is included is now included instead of the basename.
Specifically, =/home/user/path/to/file= is included as
=~/path/to/file=. This is to provide additional context for LLM
actions, including tool-use in subsequent conversation turns. This
applies to context included via ~gptel-add~ or as a link in a
buffer.
- Structured output support: ~gptel-request~ can now take an optional
schema argument to constrain LLM output to the specified JSON schema.
The JSON schema can be provided as
- an elisp object, a nested plist structure.
- A JSON schema serialized to a string.
- A shorthand object/array description, described in the manual (and
the documentation of ~gptel--dispatch-schema-type~.)
This feature works with all major backends: OpenAI, Anthropic, Gemini,
llama-cpp and Ollama. It is presently supported by some but not all
"OpenAI-compatible API" providers.
Note that this is only available via the ~gptel-request~ API, and
currently unsupported by ~gptel-send~.
- gptel's log buffer and logging settings are now accessible from
gptel's Transient menu. To see these turn on the full interface by
setting ~gptel-expert-commands~.
- Presets: You can now specify ~:request-params~ (API-specific request
parameters) in a preset.
- From the dry-run inspector buffer, you can now copy the Curl command
for the request. Like when continuing the query, the request is
constructed from the contents of the buffer, which is editable.
...
...