;;; init-llm.el --- Configure LLMs -*- lexical-binding: t -*- ;; Author: Franck Cuny ;;; Commentary: ;; Configure completions ;;; Code: (defvar fcuny/op-item-cache nil) (defun fcuny/read-op-item (op-item-path) "Read and cache OP-ITEM-PATH item." (or (cdr (assoc op-item-path fcuny/op-item-cache)) (let ((key (string-trim-right (shell-command-to-string (format "op read '%s'" op-item-path))))) (unless (string-match-p "\\[ERROR\\]" key) (push (cons op-item-path key) fcuny/op-item-cache) key)))) (use-package gptel :custom (gptel-default-mode 'org-mode) :config (gptel-make-anthropic "Claude" :stream t :key (lambda () (fcuny/read-op-item "op://Private/anthropic llm/credential")))) (use-package aidermacs :bind ("C-c a" . aidermacs-transient-menu) :custom (aider-args '("--no-check-update" "--no-show-model-warnings")) (aidermacs-default-model "claude-3-7-sonnet-latest") :config (setenv "ANTHROPIC_API_KEY" (fcuny/read-op-item "op://Private/anthropic llm/credential"))) (provide 'init-llm) ;;; init-llm.el ends here