branch: externals/llm commit 829bedabe6f2b7a6ecce681bab1f95c1d6f1e1ee Author: Andrew Hyatt <ahy...@gmail.com> Commit: Andrew Hyatt <ahy...@gmail.com>
Support for vertex embeddings, adding callback compatibility See https://github.com/ahyatt/llm/pull/27#discussion_r1518990284 for discussion on how llm-request-plz calls its callback. --- llm-request-plz.el | 2 +- llm-vertex.el | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/llm-request-plz.el b/llm-request-plz.el index d103f10448..14babfaa41 100644 --- a/llm-request-plz.el +++ b/llm-request-plz.el @@ -125,7 +125,7 @@ the buffer is turned into JSON and passed to ON-SUCCESS." (when on-success-raw (user-error "Not supported yet: on-success-raw")) (when on-success - (funcall on-success response))) + (funcall on-success (plz-response-body response)))) :else (lambda (error) (when on-error (funcall on-error error))) diff --git a/llm-vertex.el b/llm-vertex.el index 8c9d6c0575..73e07d1ea8 100644 --- a/llm-vertex.el +++ b/llm-vertex.el @@ -25,7 +25,7 @@ (require 'cl-lib) (require 'llm) -(require 'llm-request) +(require 'llm-request-plz) (require 'llm-provider-utils) (require 'json) @@ -126,23 +126,24 @@ KEY-GENTIME keeps track of when the key was generated, because the key must be r (cl-defmethod llm-embedding-async ((provider llm-vertex) string vector-callback error-callback) (llm-vertex-refresh-key provider) (let ((buf (current-buffer))) - (llm-request-async (llm-vertex--embedding-url provider) - :headers `(("Authorization" . ,(format "Bearer %s" (llm-vertex-key provider)))) - :data `(("instances" . [(("content" . ,string))])) - :on-success (lambda (data) - (llm-request-callback-in-buffer - buf vector-callback (llm-vertex--embedding-extract-response data))) - :on-error (lambda (_ data) - (llm-request-callback-in-buffer - buf error-callback - 'error (llm-vertex--error-message data)))))) + (llm-request-plz-async + (llm-vertex--embedding-url provider) + :headers `(("Authorization" . ,(format "Bearer %s" (llm-vertex-key provider)))) + :data `(("instances" . [(("content" . ,string))])) + :on-success (lambda (data) + (llm-request-callback-in-buffer + buf vector-callback (llm-vertex--embedding-extract-response data))) + :on-error (lambda (_ data) + (llm-request-callback-in-buffer + buf error-callback + 'error (llm-vertex--error-message data)))))) (cl-defmethod llm-embedding ((provider llm-vertex) string) (llm-vertex-refresh-key provider) (llm-vertex--handle-response - (llm-request-sync (llm-vertex--embedding-url provider) - :headers `(("Authorization" . ,(format "Bearer %s" (llm-vertex-key provider)))) - :data `(("instances" . [(("content" . ,string))]))) + (llm-request-plz-sync (llm-vertex--embedding-url provider) + :headers `(("Authorization" . ,(format "Bearer %s" (llm-vertex-key provider)))) + :data `(("instances" . [(("content" . ,string))]))) #'llm-vertex--embedding-extract-response)) (defun llm-vertex--get-chat-response (response)