gptel-transient: Simplify model selection

* gptel-transient.el (gptel--infix-provider, gptel--infix-model):
Simplify model and backend selection into a single step.  Remove
unused and obsolete option `gptel--infix-provider`.
This commit is contained in:
Karthik Chikmagalur 2024-03-15 19:05:32 -07:00
parent 6d3e4a99f5
commit 73a0cc25ba

View file

@ -127,7 +127,6 @@ which see."
(gptel--infix-add-directive :if (lambda () gptel-expert-commands))]] (gptel--infix-add-directive :if (lambda () gptel-expert-commands))]]
[["Model Parameters" [["Model Parameters"
(gptel--infix-provider) (gptel--infix-provider)
;; (gptel--infix-model)
(gptel--infix-max-tokens) (gptel--infix-max-tokens)
(gptel--infix-num-messages-to-send) (gptel--infix-num-messages-to-send)
(gptel--infix-temperature :if (lambda () gptel-expert-commands))] (gptel--infix-temperature :if (lambda () gptel-expert-commands))]
@ -384,32 +383,13 @@ responses."
:model 'gptel-model :model 'gptel-model
:key "-m" :key "-m"
:reader (lambda (prompt &rest _) :reader (lambda (prompt &rest _)
(let* ((backend-name (cl-loop
(if (<= (length gptel--known-backends) 1) for (name . backend) in gptel--known-backends
(caar gptel--known-backends) nconc (cl-loop for model in (gptel-backend-models backend)
(completing-read collect (list (concat name ":" model) backend model))
prompt into models-alist finally return
(mapcar #'car gptel--known-backends)))) (cdr (assoc (completing-read "Model: " models-alist nil t)
(backend (alist-get backend-name gptel--known-backends models-alist)))))
nil nil #'equal))
(backend-models (gptel-backend-models backend))
(model-name (if (= (length backend-models) 1)
(car backend-models)
(completing-read
"Model: " backend-models))))
(list backend model-name))))
(transient-define-infix gptel--infix-model ()
"AI Model for Chat."
:description "GPT Model: "
:class 'transient-lisp-variable
:variable 'gptel-model
:key "-m"
:choices '("gpt-3.5-turbo" "gpt-3.5-turbo-16k" "gpt-4" "gpt-4-1106-preview")
:reader (lambda (prompt &rest _)
(completing-read
prompt
'("gpt-3.5-turbo" "gpt-3.5-turbo-16k" "gpt-4" "gpt-4-1106-preview"))))
(transient-define-infix gptel--infix-temperature () (transient-define-infix gptel--infix-temperature ()
"Temperature of request." "Temperature of request."