Function: gptel--save-preset
gptel--save-preset is an interactive and natively compiled function
defined in gptel.el.
Signature
(gptel--save-preset NAME &optional DESCRIPTION)
Documentation
Save gptel's current settings as a preset with NAME.
NAME must be a symbol. DESCRIPTION is added if provided. In addition
to registering the preset, elisp code to do the same is copied to the
kill-ring.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/q3r7g81pvghw7a523kjk2k2zih3pfk8z-emacs-packages-deps/share/emacs/site-lisp/elpa/gptel-20261002.545/gptel.el
(defun gptel--save-preset (name &optional description)
"Save gptel's current settings as a preset with NAME.
NAME must be a symbol. DESCRIPTION is added if provided. In addition
to registering the preset, elisp code to do the same is copied to the
`kill-ring'."
(interactive
(list (intern (completing-read "Save gptel settings to (existing or new) preset: "
gptel--known-presets))
(read-string "Description (optional): ")))
(let ((preset-code
`(gptel-make-preset ',name
:description ,(when (and description
(not (string-blank-p description)))
description)
:backend ,(gptel-backend-name gptel-backend)
:model ',gptel-model
:system ,(if-let* ((directive (car-safe (rassoc gptel-system-prompt
gptel-directives))))
`',directive
gptel-system-prompt)
:tools ',(mapcar #'gptel-tool-name gptel-tools)
:stream ,gptel-stream
:temperature ,gptel-temperature
:max-tokens ,gptel-max-tokens
:use-context ',gptel-use-context
:track-media ,gptel-track-media
:include-reasoning ,(let ((reasoning gptel-include-reasoning))
(if (eq reasoning 'ignore)
''ignore reasoning)))))
(kill-new (pp-to-string preset-code))
(eval preset-code)
(message "Preset %s saved. (Lisp expression for preset saved to kill-ring)"
(propertize (symbol-name name) 'face 'highlight))))