[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ellama 7de4b75986 1/6: Add transient ollama model menu
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ellama 7de4b75986 1/6: Add transient ollama model menu prototype |
Date: |
Wed, 12 Feb 2025 15:58:12 -0500 (EST) |
branch: externals/ellama
commit 7de4b759869bd3950837188063be11b5b2d2ad55
Author: Sergey Kostyaev <sskostyaev@gmail.com>
Commit: Sergey Kostyaev <sskostyaev@gmail.com>
Add transient ollama model menu prototype
---
ellama.el | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/ellama.el b/ellama.el
index 895f6fab94..a3a3731321 100644
--- a/ellama.el
+++ b/ellama.el
@@ -2482,20 +2482,25 @@ Call CALLBACK on result list of strings. ARGS contains
keys for fine control.
(lambda (err)
(user-error err)))))
+(defun ellama-get-ollama-model-name ()
+ "Get ollama model name from installed locally."
+ (interactive)
+ (completing-read
+ "Select ollama model: "
+ (mapcar (lambda (s)
+ (car (split-string s)))
+ (seq-drop
+ (process-lines
+ (executable-find ellama-ollama-binary) "ls")
+ 1))))
+
(defun ellama-get-ollama-local-model ()
"Return llm provider for interactively selected ollama model."
(interactive)
(declare-function llm-ollama-p "ext:llm-ollama")
(declare-function llm-ollama-host "ext:llm-ollama")
(declare-function llm-ollama-port "ext:llm-ollama")
- (let ((model-name
- (completing-read "Select ollama model: "
- (mapcar (lambda (s)
- (car (split-string s)))
- (seq-drop
- (process-lines
- (executable-find ellama-ollama-binary) "ls")
- 1))))
+ (let ((model-name (ellama-get-ollama-model-name))
(host (when (llm-ollama-p ellama-provider)
(llm-ollama-host ellama-provider)))
(port (when (llm-ollama-p ellama-provider)
@@ -2506,6 +2511,21 @@ Call CALLBACK on result list of strings. ARGS contains
keys for fine control.
(make-llm-ollama
:chat-model model-name :embedding-model model-name))))
+(defvar ellama-transient-ollama-model-name "")
+
+(transient-define-suffix ellama-transient-set-ollama-model ()
+ "Set ollama model name."
+ (interactive)
+ (setq ellama-transient-ollama-model-name (ellama-get-ollama-model-name)))
+
+(transient-define-prefix ellama-select-ollama-model ()
+ "Select ollama model."
+ [["Model"
+ ("m" "Model" ellama-transient-set-ollama-model
+ :transient t
+ :description (lambda () (format "Model (%s)"
ellama-transient-ollama-model-name)))]
+ ["Quit" ("q" "Quit" transient-quit-one)]])
+
(transient-define-prefix ellama-transient-code-menu ()
"Code Commands."
[["Code Commands"
- [elpa] externals/ellama updated (ac5a793ef5 -> cb672c6981), ELPA Syncer, 2025/02/12
- [elpa] externals/ellama 7de4b75986 1/6: Add transient ollama model menu prototype,
ELPA Syncer <=
- [elpa] externals/ellama 1dac9ae15a 2/6: Move global context variable upper to prevent linter warnings, ELPA Syncer, 2025/02/12
- [elpa] externals/ellama 721ba5e1de 3/6: Extend transient menu for Ollama settings, ELPA Syncer, 2025/02/12
- [elpa] externals/ellama cb672c6981 6/6: Merge pull request #180 from s-kostyaev/transient-model-menu, ELPA Syncer, 2025/02/12
- [elpa] externals/ellama 94bc0224e4 5/6: Bump version, ELPA Syncer, 2025/02/12
- [elpa] externals/ellama f87d9cce7a 4/6: Add ollama model selection to transient menu, ELPA Syncer, 2025/02/12