diff mbox series

[bug#70584,v2] gnu: Add emacs-llm.

Message ID e60eb615aa4948da2a0a95dff314a8981e19d2be.1714201985.git.roman@burningswell.com
State New
Headers show
Series [bug#70584,v2] gnu: Add emacs-llm. | expand

Commit Message

Roman Scherer April 27, 2024, 7:13 a.m. UTC
* gnu/packages/emacs-xyz.scm (emacs-llm): New variable.

Change-Id: Ie89eac7a4f0a31245b6d826ae9885a7092528ced
---
 gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)


base-commit: 259372b7a95e3fea75a9ce1127a904e3f1ea3591

Comments

Liliana Marie Prikler April 29, 2024, 6:40 p.m. UTC | #1
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?
Roman Scherer May 1, 2024, 10:41 a.m. UTC | #2
Hi Liliana,

I sent v3 of the patch that now includes your suggested description.

Can you pleas take another look?

Thanks, Roman.

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> 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?
diff mbox series

Patch

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+)))
+
 (define-public emacs-magit
     ;; Use this unreleased commit to benefit from a recent improvements with
     ;; regard to adding git trailers such as "Reviewed-by".