refactor: Extract DeepSeek API key reading into reusable functions

This commit is contained in:
lemyx (aider) 2024-12-29 09:56:55 +08:00
parent 510163d321
commit beebcb11ee

View File

@ -3,27 +3,33 @@
;;; Code:
(defun deepseek-api-key-path ()
"Return the path to the DeepSeek API key file."
(expand-file-name "~/.config/llm/deepseek/api_key.txt"))
(defun read-deepseek-api-key ()
"Read and return the DeepSeek API key from the configured file."
(with-temp-buffer
(insert-file-contents (deepseek-api-key-path))
(string-trim (buffer-string))))
(use-package gptel
:ensure t
:config
(setq gptel-model "deepseek-chat")
(setq gptel-default-mode 'org-mode)
(setq (gptel-make-openai "DeepSeek"
:host "api.deepseek.com"
:endpoint "/chat/completions"
:stream t
:key (with-temp-buffer
(insert-file-contents "~/.config/llm/deepseek/api_key.txt")
(string-trim (buffer-string)))
:models '("deepseek-chat" "deepseek-coder"))))
(setq (gptel-make-openai "DeepSeek"
:host "api.deepseek.com"
:endpoint "/chat/completions"
:stream t
:key (read-deepseek-api-key)
:models '("deepseek-chat" "deepseek-coder"))))
;; aider.el
(add-to-list 'load-path "~/.emacs.d/site-lisp/aider/")
(require 'aider)
(setq aider-args '("--model" "deepseek/deepseek-coder"))
(setenv "DEEPSEEK_API_KEY" (with-temp-buffer
(insert-file-contents "~/.config/llm/deepseek/api_key.txt")
(string-trim (buffer-string))))
(setenv "DEEPSEEK_API_KEY" (read-deepseek-api-key))
(provide 'init-ai)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;