;;; init-ai.el --- Configuración de inteligencias artificales  -*- lexical-binding: t -*-

;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual

;;; Commentary:

;; Esta configuración para Inteligencia artifical en emacs, principalmente para el uso de chats.

;;; Code:

;; Cliente LLM (ollama, chatgpt, gemini, etc.)
(use-package gptel
  :defer t
  :config
  ;; (setq gptel-model 'gemma3:4b
  ;;       gptel-backend (gptel-make-ollama "Ollama"
  ;;                       :host "localhost:11434"
  ;;                       :stream t
  ;;                       :models '("mistral:latest"
  ;;                                 "deepseek-r1:1.5b"
  ;;                                 "deepcoder"
  ;;                                 "dolphin-llama3:latest"
  ;;                                 "gemma3:4b"
  ;;                                 "llava:latest"))
        gptel-default-mode 'org-mode
        gptel-prompt-prefix-alist
        '((markdown-mode . "# ")
          (org-mode . "* ")
          (text-mode . "# "))
        gptel-directives
        '((default . "Eres un LLM que vive dentro de Emacs. Responde de manera concisa.")
          (programming . "Eres un LLM y un programador profesional cuidadoso. Provee el código y solo el código como output sin ningún texto adicional, prompt o nota.")
          (programming_tutor . "Eres un LLM y un programador profesional cuidadoso. Revisa el siguiente código y realiza sugerencias concisas en español para mejorarlo.")
          (programming_explainer . "Eres un LLM y un programador profesional cuidadoso. Revisa el siguiente código y explica en español de manera concisa, su funcionamiento.")
          (programming_describer . "Eres un LLM y un programador profesional cuidadoso. Revisa el siguiente código y explica en español su funcionamiento línea a línea.")
          (writing . "Eres un LLM y un asistente de escritura. Responde de manera concisa.")
          (grammarly . "You are a large language model and professional philologist. Improve grammar and spelling.")
          (chat . "Eres un LLM y un compañero de conversación. Responde de manera concisa.")
          (traductor . "Eres un traductor profesional. Traduce a español tomando en cuenta los posibles tecnicismos y nombres que no deberían traducirse.")
          )
        )
  )

(provide 'init-ai)
;;; init-ai.el ends here