;;; config--pkg-gptel.el --- Generated package (no.19) from my config -*- lexical-binding: t; -*- ;; ;; Copyright (C) 2025 TEC ;; ;; Author: TEC <https://code.tecosaur.net/tec> ;; Maintainer: TEC <contact@tecosaur.net> ;; Created: April 17, 2025 ;; Modified: April 17, 2025 ;; Version: 2025.04.17 ;; Homepage: https://code.tecosaur.net/tec/emacs-config ;; Package-Requires: ((emacs "29.1")) ;; ;; This file is not part of GNU Emacs. ;; ;;; Commentary: ;; ;; Generated package (no.19) from my config. ;; ;; During generation, dependency on other aspects of my configuration and ;; packages is inferred via (regexp-based) static analysis. While this seems ;; to do a good job, this method is imperfect. This code likely depends on ;; utilities provided by Doom, and if you try to run it in isolation you may ;; discover the code makes more assumptions. ;; ;; That said, I've found pretty good results so far. ;; ;; Package statement: ;; (package! gptel :pin "5cafffd19afcb4f6708af2d781446e8dc592af42") ;; ;;; Code: (use-package! gptel :commands gptel gptel-menu gptel-mode gptel-send :config (let ((groq-backend (gptel-make-openai "Groq" :host "api.groq.com" :endpoint "/openai/v1/chat/completions" :stream t :key (lambda () (or (secrets-get-secret "Login" "groq") (secrets-get-secret "kdewallet" "groq"))) :models '("llama3-70b-8192" "llama3-8b-8192" "llama-3.1-70b-versatile" "llama-3.1-8b-instant" "llama-3.2-1b-preview" "deepseek-r1-distill-llama-70b" "mixtral-8x7b-32768" "gemma-7b-it" "gemma2-9b-it"))) (openai-backend (gptel-make-openai "ChatGPT" :host "api.openai.com" :stream t :key (lambda () (or (secrets-get-secret "Login" "openai") (secrets-get-secret "kdewallet" "openai"))) :models '("gpt-4o" "gpt-4o-mini" "chatgpt-4o-latest" "o1" "o1-mini"))) (anthropic-backend (gptel-make-anthropic "Claude" :stream t :key (lambda () (or (secrets-get-secret "Login" "anthropic") (secrets-get-secret "kdewallet" "anthropic"))) :models '("claude-3-5-sonnet-20240620" "claude-3-sonnet-20240229" "claude-3-haiku-20240307"))) (ollama-backend (let (ollama-models) (when (executable-find "ollama") (with-temp-buffer (call-process "ollama" nil t nil "list") (goto-char (point-min)) (forward-line 1) (while (and (not (eobp)) (looking-at "[^ \t]+")) (push (match-string 0) ollama-models) (forward-line 1))) (gptel-make-ollama "Ollama" :models ollama-models :stream t))))) (setq-default gptel-model "llama-3.1-70b-versatile" gptel-backend groq-backend)) (delete (assoc "ChatGPT" gptel--known-backends) gptel--known-backends) (setq gptel-default-mode #'org-mode)) (provide 'config--pkg-gptel) ;;; config--pkg-gptel.el ends here