Function: gptel--sanitize-model

gptel--sanitize-model is a natively compiled function defined in gptel-request.el.

Signature

(gptel--sanitize-model &key (BACKEND gptel-backend) (MODEL gptel-model) (SHOOSH t))

Documentation

Check if MODEL is available in BACKEND, adjust accordingly.

If SHOOSH is true, don't issue a warning.

Source Code

;; Defined in /nix/store/q3r7g81pvghw7a523kjk2k2zih3pfk8z-emacs-packages-deps/share/emacs/site-lisp/elpa/gptel-20261002.545/gptel-request.el
(cl-defun gptel--sanitize-model (&key (backend gptel-backend)
                                      (model gptel-model)
                                      (shoosh t))
  "Check if MODEL is available in BACKEND, adjust accordingly.

If SHOOSH is true, don't issue a warning."
  (unless backend
    (setq gptel-backend
          (or (cdar gptel--known-backends) ;First available backend
              (gptel-make-openai "ChatGPT" :key 'gptel-api-key :stream t))
          backend gptel-backend)
    (unless shoosh
      (display-warning
       'gptel (format "No gptel-backend defined: defaulting to %s"
                      (gptel-backend-name gptel-backend)))))
  (let ((available (gptel-backend-models backend)))
    (when (stringp model)
      (unless shoosh
        (display-warning
         'gptel
         (format "`gptel-model' expects a symbol, found string \"%s\"
   Resetting `gptel-model' to %s"
                 model model)))
      (setq gptel-model (gptel--intern model)
            model gptel-model))
    (unless (member model available)
      (let ((fallback (car available)))
        (unless shoosh
          (display-warning
           'gptel
           (format (concat "Preferred `gptel-model' \"%s\" not"
                           "supported in \"%s\", using \"%s\" instead")
                   model (gptel-backend-name backend) fallback)))
        (setq gptel-model fallback)))))