emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ellama c783125b53 04/11: Add provider selection in new


From: ELPA Syncer
Subject: [elpa] externals/ellama c783125b53 04/11: Add provider selection in new session if needed
Date: Thu, 18 Jan 2024 15:57:52 -0500 (EST)

branch: externals/ellama
commit c783125b534e913ddbd9045d52b3327ba4a4911b
Author: Sergey Kostyaev <sskostyaev@gmail.com>
Commit: Sergey Kostyaev <sskostyaev@gmail.com>

    Add provider selection in new session if needed
---
 ellama.el | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/ellama.el b/ellama.el
index 2a0f207669..43deca061c 100644
--- a/ellama.el
+++ b/ellama.el
@@ -533,11 +533,25 @@ Will call `ellama-chat-done-callback' on TEXT."
 
 If CREATE-SESSION set, creates new session even if there is an active session."
   (interactive "sAsk ellama: ")
-  (let* ((session (if (or create-session
+  (let* ((providers (progn
+                     (push '("default model" . ellama-provider)
+                           ellama-providers)
+                     (if (and ellama-ollama-binary
+                              (file-exists-p ellama-ollama-binary))
+                         (push '("ollama model" . 
(ellama-get-ollama-local-model))
+                               ellama-providers)
+                       ellama-providers)))
+        (variants (mapcar #'car providers))
+        (provider (if current-prefix-arg
+                      (eval (alist-get
+                             (completing-read "Select model: " variants)
+                             providers nil nil #'string=))
+                    ellama-provider))
+        (session (if (or create-session
                          current-prefix-arg
                          (and (not ellama--current-session)
                               (not ellama--current-session-id)))
-                     (ellama-new-session ellama-provider prompt)
+                     (ellama-new-session provider prompt)
                    (or ellama--current-session
                        (with-current-buffer (ellama-get-session-buffer
                                              ellama--current-session-id)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]