diff --git a/gptel-curl.el b/gptel-curl.el index 4f2348f..01b7442 100644 --- a/gptel-curl.el +++ b/gptel-curl.el @@ -93,6 +93,9 @@ PROMPTS is the data to send, TOKEN is a unique identifier." PROCESS and STATUS are process parameters." (let ((proc-buf (process-buffer process))) + (when gptel--debug + (with-current-buffer proc-buf + (clone-buffer "*gptel-error*" 'show))) (if-let* ((ok-p (equal status "finished\n")) (proc-info (alist-get process gptel-curl--process-alist)) (proc-token (plist-get proc-info :token)) diff --git a/gptel.el b/gptel.el index ca6f18f..d1c929c 100644 --- a/gptel.el +++ b/gptel.el @@ -114,6 +114,7 @@ return the transformed string." (writing . "You are a large language model and a writing assistant. Respond concisely.") (chat . "You are a large language model and a conversation partner. Respond concisely.")) "Prompt templates (directives).") +(defvar gptel--debug nil) (defvar-local gptel--max-tokens nil) (defvar-local gptel--model "gpt-3.5-turbo") (defvar-local gptel--temperature 1.0) @@ -296,9 +297,13 @@ Return the message received." (defun gptel--url-parse-response (response-buffer) "Parse response in RESPONSE-BUFFER." (when (buffer-live-p response-buffer) + (when gptel--debug + (with-current-buffer response-buffer + (clone-buffer "*gptel-error*" 'show))) (with-current-buffer response-buffer (if-let* ((status (buffer-substring (line-beginning-position) (line-end-position))) ((string-match-p "200 OK" status)) + (json-object-type 'plist) (response (progn (forward-paragraph) (json-read))) (content (map-nested-elt