Subject: Re: [bug#70584] [PATCH v2] gnu: Add emacs-llm.

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 29 Apr 2024 20:40:15 +0200

Am Samstag, dem 27.04.2024 um 09:13 +0200 schrieb Roman Scherer:
> * gnu/packages/emacs-xyz.scm (emacs-llm): New variable.
> 
> Change-Id: Ie89eac7a4f0a31245b6d826ae9885a7092528ced
> ---
>  gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 8a2ffc621d..e802cc3f03 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -1606,6 +1606,30 @@ (define-public emacs-libgit
>  libgit2 bindings for Emacs, intended to boost the performance of
> Magit.")
>        (license license:gpl2+))))
>  
> +(define-public emacs-llm
> +  (package
> +    (name "emacs-llm")
> +    (version "0.13.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/ahyatt/llm")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256 (base32
> +                      
> "1q7djz4zx1br4d3g46f1m5cbxwl050qjmsm2cy7zcww64rrkcj0l"))))
> +    (build-system emacs-build-system)
> +    (home-page "https://github.com/ahyatt/llm")
> +    (synopsis "Emacs library abstracting Large Language Model
> capabilities.")
> +    (description
> +     "This is a library for interfacing with Large Language Models. 
> It allows
> +Elisp code to use LLMs, but gives the end-user an option to choose
> which LLM
> +they would prefer.  This is especially useful for LLMs, since there
> are ones
> +in which API access costs money, as well as locally installed ones
> that are
> +free.  Applications using LLMs can use this library to make sure
> their
> +application works regardless of the LLm they choose.")
> +    (license license:gpl3+)))
> +
Oof, this is still pretty much the same description as before with only
the most basic concerns addressed.

How about "This package provides interfaces to abstract various
@acronym{LLM, large language model}s out in the world.  To respect user
freedom, it will warn you before interacting with non-free LLMs."?

As far as I know there is no guideline against including stuff that
works with non-free web services, so this goes beyond the Guix
guidelines – we even have some packages calling to chatgpt and not much
else, so it's a big improvement over that – and it's a somewhat good
message for those amongst us who are concerned about freedom three when
they think about LLMs.

WDYT?