From f57132317477048642f5c17a4083f807b9be2a5e Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Wed, 27 Dec 2023 22:35:41 -0800 Subject: [PATCH] gptel-gemini: Simulate system-message for gemini * gptel-gemini.el (gptel--parse-buffer): The Gemini API does not provide an explicit system message parameter. In the interest of providing a uniform interface, simulate this in gptel by prepending the first user message with `gptel--system-message`. --- gptel-gemini.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gptel-gemini.el b/gptel-gemini.el index 63453b6..fe4f0c5 100644 --- a/gptel-gemini.el +++ b/gptel-gemini.el @@ -26,6 +26,7 @@ (require 'gptel) (require 'cl-generic) (require 'map) +(require 'cl-macs) (declare-function prop-match-value "text-property-search") (declare-function text-property-search-backward "text-property-search") @@ -95,6 +96,10 @@ (regexp-quote (gptel-response-prefix-string)))))) prompts) (and max-entries (cl-decf max-entries))) + (cl-callf (lambda (msg) (concat gptel--system-message "\n\n" msg)) + (thread-first (car prompts) + (plist-get :parts) + (plist-get :text))) prompts)) ;;;###autoload