[PATCH] gnu: Add emacs-llm.

  • Open
  • quality assurance status badge
Details
3 participants
  • Liliana Marie Prikler
  • Roman Scherer
  • Roman Scherer
Owner
unassigned
Submitted by
Roman Scherer
Severity
normal
R
R
Roman Scherer wrote on 26 Apr 09:04 +0200
(address . guix-patches@gnu.org)(name . Roman Scherer)(address . roman@burningswell.com)
bf984c5c80f460f36298f46b0389d4341086b47c.1714115090.git.roman@burningswell.com
* gnu/packages/emacs-xyz.scm (emacs-llm): New variable.

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

Toggle diff (40 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8a2ffc621d..8c712612b6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1606,6 +1606,31 @@ (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 allows gives the end-user an option to choose
+which LLM they would prefer. This is especially useful for LLMs, since there
+are various high-quality ones that in which API access costs money, as well as
+locally installed ones that are free, but of medium quality. Applications
+using LLMs can use this library to make sure their application works
+regardless of whether the user has a local LLM or is paying for API access.")
+ (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".

base-commit: 259372b7a95e3fea75a9ce1127a904e3f1ea3591
--
2.41.0
L
L
Liliana Marie Prikler wrote on 26 Apr 19:00 +0200
c9f9cbc1002fb131f68c9e4843a517bb10d4eb7c.camel@gmail.com
Am Freitag, dem 26.04.2024 um 09:04 +0200 schrieb Roman Scherer:
Toggle quote (49 lines)
> * gnu/packages/emacs-xyz.scm (emacs-llm): New variable.
>
> Change-Id: Ie89eac7a4f0a31245b6d826ae9885a7092528ced
> ---
>  gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 8a2ffc621d..8c712612b6 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -1606,6 +1606,31 @@ (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 allows gives the end-user an option to
> choose
> +which LLM they would prefer.  This is especially useful for LLMs,
> since there
> +are various high-quality ones that in which API access costs money,
> as well as
> +locally installed ones that are free, but of medium quality. 
> Applications
> +using LLMs can use this library to make sure their application works
> +regardless of whether the user has a local LLM or is paying for API
> access.")
> +    (license license:gpl3+)))
> +
No advertising nonfree software, thanks.

Also, I'd like you to know that training such "high quality" LLMs comes
at a larger cost than is given back in use in societal or environmental
terms.

Cheers
R
R
Roman Scherer wrote on 27 Apr 00:35 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
CAEc_D28NhfpTrrHS_M8SGVii8eNtPb9V4cQvrdxUXo=2R3i+Pw@mail.gmail.com
Hi Liliana,
I'm not sure if I understand your message. Do you say Guix does not want to
package this?
This is a package you can use with Ollama and is packaged on GNU ELPA as
well.
Greetings, Roman.

On Fri, Apr 26, 2024, 19:00 Liliana Marie Prikler <liliana.prikler@gmail.com>
wrote:

Toggle quote (58 lines)
> Am Freitag, dem 26.04.2024 um 09:04 +0200 schrieb Roman Scherer:
> > * gnu/packages/emacs-xyz.scm (emacs-llm): New variable.
> >
> > Change-Id: Ie89eac7a4f0a31245b6d826ae9885a7092528ced
> > ---
> > gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
> > 1 file changed, 25 insertions(+)
> >
> > diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> > index 8a2ffc621d..8c712612b6 100644
> > --- a/gnu/packages/emacs-xyz.scm
> > +++ b/gnu/packages/emacs-xyz.scm
> > @@ -1606,6 +1606,31 @@ (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 allows gives the end-user an option to
> > choose
> > +which LLM they would prefer. This is especially useful for LLMs,
> > since there
> > +are various high-quality ones that in which API access costs money,
> > as well as
> > +locally installed ones that are free, but of medium quality.
> > Applications
> > +using LLMs can use this library to make sure their application works
> > +regardless of whether the user has a local LLM or is paying for API
> > access.")
> > + (license license:gpl3+)))
> > +
> No advertising nonfree software, thanks.
>
> Also, I'd like you to know that training such "high quality" LLMs comes
> at a larger cost than is given back in use in societal or environmental
> terms.
>
> Cheers
>
Attachment: file
L
L
Liliana Marie Prikler wrote on 27 Apr 00:46 +0200
(name . Roman Scherer)(address . roman@burningswell.com)
d1b4603466eb195361fa35eafe6561979a20cc0a.camel@gmail.com
Am Samstag, dem 27.04.2024 um 00:35 +0200 schrieb Roman Scherer:
Toggle quote (6 lines)
> Hi Liliana,
> I'm not sure if I understand your message. Do you say Guix does not
> want to package this?
> This is a package you can use with Ollama and is packaged on GNU ELPA
> as well.
> Greetings, Roman.
I'm not aware of the quality control procedures at ELPA, but if you
copied that bit from the description, they might have overlooked some
README nastiness.

As far as the functionality is concerned, by all means add it, but we
have principles here, even if they permit calling out to dubious APIs.

Cheers
R
R
Roman Scherer wrote on 27 Apr 01:05 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
CAEc_D28hfhXwpqMH1HZdr+2OU1YAvDry6HGJ8AAVh1H8+eH3uA@mail.gmail.com
Hi Liliana,
could you please provide more constructive feedback and suggest what the
description should say? I took the description from the README of the
package. I'm here to make Guix better. If you don't want this package that
is also fine, then I keep it in my own channel.
Roman.


On Sat, Apr 27, 2024, 00:46 Liliana Marie Prikler <liliana.prikler@gmail.com>
wrote:

Toggle quote (16 lines)
> Am Samstag, dem 27.04.2024 um 00:35 +0200 schrieb Roman Scherer:
> > Hi Liliana,
> > I'm not sure if I understand your message. Do you say Guix does not
> > want to package this?
> > This is a package you can use with Ollama and is packaged on GNU ELPA
> > as well.
> > Greetings, Roman.
> I'm not aware of the quality control procedures at ELPA, but if you
> copied that bit from the description, they might have overlooked some
> README nastiness.
>
> As far as the functionality is concerned, by all means add it, but we
> have principles here, even if they permit calling out to dubious APIs.
>
> Cheers
>
Attachment: file
L
L
Liliana Marie Prikler wrote on 27 Apr 01:45 +0200
(name . Roman Scherer)(address . roman@burningswell.com)
2e112887394337fb30724b08e98eeee463c6d562.camel@gmail.com
Am Samstag, dem 27.04.2024 um 01:05 +0200 schrieb Roman Scherer:
Toggle quote (6 lines)
> Hi Liliana,
> could you please provide more constructive feedback and suggest what
> the description should say? I took the description from the README of
> the package. I'm here to make Guix better. If you don't want this
> package that is also fine, then I keep it in my own channel.
> Roman.
I don't have any concrete suggestions here, but for comparison, ellama
looks fine. The packages probably do different things, hence the two
of them but it should be possible to write about this one based on its
technical merits without resorting to ad speak.

HTH
R
R
Roman Scherer wrote on 27 Apr 09:13 +0200
[PATCH v2] gnu: Add emacs-llm.
(address . 70584@debbugs.gnu.org)(name . Roman Scherer)(address . roman@burningswell.com)
e60eb615aa4948da2a0a95dff314a8981e19d2be.1714201985.git.roman@burningswell.com
* gnu/packages/emacs-xyz.scm (emacs-llm): New variable.

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

Toggle diff (39 lines)
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".

base-commit: 259372b7a95e3fea75a9ce1127a904e3f1ea3591
--
2.41.0
R
R
Roman Scherer wrote on 27 Apr 09:20 +0200
Re: [bug#70584] [PATCH] gnu: Add emacs-llm.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87le4zmfu0.fsf@burningswell.com
Hi Liliana,

I sent a v2 of the patch for the emacs-llm package. I now changed the
description of the package. I hope it does not contain anything what you
refered to as ad speak.

If it still does not fit your needs, please change it to your liking or
suggest something better.

Thanks, Roman.

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

Toggle quote (13 lines)
> Am Samstag, dem 27.04.2024 um 01:05 +0200 schrieb Roman Scherer:
>> Hi Liliana,
>> could you please provide more constructive feedback and suggest what
>> the description should say? I took the description from the README of
>> the package. I'm here to make Guix better. If you don't want this
>> package that is also fine, then I keep it in my own channel.
>> Roman.
> I don't have any concrete suggestions here, but for comparison, ellama
> looks fine. The packages probably do different things, hence the two
> of them but it should be possible to write about this one based on its
> technical merits without resorting to ad speak.
>
> HTH
-----BEGIN PGP SIGNATURE-----

iQFTBAEBCAA9FiEE0iajOdjfRIFd3gygPdpSUn0qwZkFAmYsp1cfHHJvbWFuLnNj
aGVyZXJAYnVybmluZ3N3ZWxsLmNvbQAKCRA92lJSfSrBmRiFCACL+DJSJAcxm54Z
ntgx536Ias91ecz0cNhrCLeObwOK+lqi0ij/A4M2h0h4UaFYYlNSW71OObh1uQP1
lcXWU/9hv+DSUl6TCrNZdTzpGx3zEKUuAjAg0mCBPLFQfkqDq18pT1YCwBDfqy+3
+x3CbvWIOoGbkFjUtDCAKQ6LMIy8pru+TgKHZftsq18BKw/XF+zBwYapcFsoVVIy
q1xjhhHNfaTKVEUOmbFD1bA7ykfh5qV15jmrLQsorJ2iVRxiNi5kW1JqOZG6cGfW
k4v6oWWHPUBYLEgzTCgaPaslw6qBZq0JVSqNIMBdL0LVv2YvDpFYHNo1FvB/Lgs8
YCU3gEgP
=1glk
-----END PGP SIGNATURE-----

L
L
Liliana Marie Prikler wrote 7 days ago
Re: [bug#70584] [PATCH v2] gnu: Add emacs-llm.
c383a5e04905d837a97049a71eea208213f2fcb0.camel@gmail.com
Am Samstag, dem 27.04.2024 um 09:13 +0200 schrieb Roman Scherer:
Toggle quote (47 lines)
> * 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?
R
R
Roman Scherer wrote 5 days ago
[PATCH v3] gnu: Add emacs-llm.
(address . 70584@debbugs.gnu.org)(name . Roman Scherer)(address . roman@burningswell.com)
992015c0e069698f62fe436a61614de5d4e142f7.1714560002.git.roman@burningswell.com
* gnu/packages/emacs-xyz.scm (emacs-llm): New variable.

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

Toggle diff (214 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 491084088f..2363ac5931 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1606,6 +1606,27 @@ (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 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.")
+ (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".

base-commit: 259372b7a95e3fea75a9ce1127a904e3f1ea3591
prerequisite-patch-id: 3aa85132e5839b481ffff916b126a68160b6d517
prerequisite-patch-id: 4a01b0be86843a874524dc76ce0e270f3866db17
prerequisite-patch-id: 46ed1ec06e74a4594258f2dadedfd4bf9af9aa7f
prerequisite-patch-id: d866f9fe53477ec218e545528dba7d6bb3b255a4
prerequisite-patch-id: 98620a670467ac0cde113b4f8c9b51bc6b183de6
prerequisite-patch-id: c8844ba35968b5be756af2f906319f7f9569dc52
prerequisite-patch-id: e168958b168d9b68c5cb85e7ecf1c0d55c303afc
prerequisite-patch-id: 518d45f91cc97dd4da3656889420a902130fa849
prerequisite-patch-id: 1104b4fdc3ddb7633d2bee4f68cb70d6c8961243
prerequisite-patch-id: 5cb5081aefcfd465769f508a7e0beaff2b4e339e
prerequisite-patch-id: 14af9262fcd071dd89e7b5ea33f3c5ca7ef97333
prerequisite-patch-id: 79ff13b50e217e6fc18dd1a2c3fcc56aad69d9c7
prerequisite-patch-id: f294eb85e37c3409b9bd3349d3d265df4baaf9bc
prerequisite-patch-id: 4d61a1aafe2dab7537985b409f3d81336f311152
prerequisite-patch-id: a811686652c8b1fdd929e3cb986ea43c4becb19a
prerequisite-patch-id: 5c9e78c74b1f60f7d379a037049ce330b8c0468c
prerequisite-patch-id: aba438a3c32ef44149bbc749c1e0b89d00006b3e
prerequisite-patch-id: 21d37eeee8320470cec82915f2b30f83e6dd18ed
prerequisite-patch-id: 3d1c34393f189e614a2c378bee44644140b635a3
prerequisite-patch-id: 61be8544610f7c50d05e8778625f0b70c538855e
prerequisite-patch-id: 54f4b100e5bbc4844c36ed13a22e65e31f590fe7
prerequisite-patch-id: 584942123d1938f1e9a15c53ada37e4ec0e24e43
prerequisite-patch-id: 8828ab53b932a87c83dc52f31edd4003b1252a15
prerequisite-patch-id: 6b335011cbe604b5f0f821ba1e2f7ea9c4351fa8
prerequisite-patch-id: 07a83691df11d443730075dea777f0bc6e1e4870
prerequisite-patch-id: 4cd04f444d7e8955a27c8ecfd20040d07f9bb526
prerequisite-patch-id: f923481dd713dfd0377a5d0c347a065724461e87
prerequisite-patch-id: edfae670d288017e795303f0f5fe9e6215e2681e
prerequisite-patch-id: a9f93c81e4ebe5ab41b8ea5b83601823fd3ba9d9
prerequisite-patch-id: eee15905a9347b252aa48c586e49101ad56e0190
prerequisite-patch-id: 49f3593e2b4e80f592414b53db0fb3b6b49210f3
prerequisite-patch-id: cf3a9ac719635ec7c569cd46faf264cfe9906066
prerequisite-patch-id: 8cd583418f41d9264c38913516ee4302cf0c5bbf
prerequisite-patch-id: 3bd0cab80740e6675f6ce68e76c7c538799f0615
prerequisite-patch-id: 50031a671ba6e9209419d67a60a9858672daaa95
prerequisite-patch-id: 59c19fe24642ac4c7cbb5271144dadbb6a1da5b3
prerequisite-patch-id: bc9890b1ea0cc1a1820db8adb20ce0d3f69c65ef
prerequisite-patch-id: 455921dbaa6babc3a0f666eff8be41973ba1dad5
prerequisite-patch-id: 0313a539006bf29b874c38bdbbd2101fdca165e6
prerequisite-patch-id: 34474fa9515e3b58bb013dddaefadd603eed6580
prerequisite-patch-id: 9f9eade6488af2c7c721a083c1b43e5ff380c5df
prerequisite-patch-id: a8c7f8bef8bb84465d8cd23f145e5c852543ed77
prerequisite-patch-id: 2a74bc27dc1fb91ea1bd63ee26b329df95024d5c
prerequisite-patch-id: 7bd0e41c6ec497988254f2716ac1592a8ae877cb
prerequisite-patch-id: 482e16e3edd3dc9cd410c99ca249c39b7045579c
prerequisite-patch-id: 7af864749b5b3dcd95857458e16a05578058cce9
prerequisite-patch-id: be6e3d44f3aeef775c8fd7d28018ca8d040c7211
prerequisite-patch-id: 22b46db06997790673cc2a4e46088601e0bcbb7b
prerequisite-patch-id: 486f01866a970602770102d2590fc91bd8543083
prerequisite-patch-id: 621cff04a028b64cded3e992fd06bc87733c736b
prerequisite-patch-id: 9c008f363502f03bf0864898b403c580f2c6616c
prerequisite-patch-id: d6198e046aa36442ebebbea2cbff10b7fd276b2b
prerequisite-patch-id: 76c6bff705b5302dfabb52c6f409436a5c0f9af5
prerequisite-patch-id: 2b41cef8760328215f05f07782fd8659769d2e9a
prerequisite-patch-id: d3b7efbe024279f6e148539c1170c66563d6e341
prerequisite-patch-id: 5fea90ed6ddc5023823802d5dbb01c3b437eac18
prerequisite-patch-id: fd00b5ed1ead79c6afcf08d330e8856a7d61a8e3
prerequisite-patch-id: ba7bec51f97da0056a426ecec40f6cd98e129854
prerequisite-patch-id: 2fe2b524460feb80494ebcbef3830747bc6f124c
prerequisite-patch-id: db096c410b6bf7e2b44d63562b689a3c11b884a9
prerequisite-patch-id: d686b084956eb8e114e16b61a2dbed3840d8fabd
prerequisite-patch-id: dfd4128d9ddbd76f1174ab92746987b0d11c8c03
prerequisite-patch-id: ab24f03d4e79f3a84e76d7b41bd3e151b4c74555
prerequisite-patch-id: 84d67878016ad98c587afc64fbc241a83f4224b2
prerequisite-patch-id: 3a1c3542998f2489923c08875ffbddc69230f018
prerequisite-patch-id: 2280fdc9b7559c858919a98bd454ac9f2644f63a
prerequisite-patch-id: 4f3aaa8ff2638b505237aa05bbe508bd6eb9f149
prerequisite-patch-id: 5505d3f99e4f41926e62b1caabd99e0cb2c6fe7e
prerequisite-patch-id: 21709f1679ca83c7c99d8cb6d391236e40561ffe
prerequisite-patch-id: 0a7aa017d15dd9888c4c903003abd28b79971f34
prerequisite-patch-id: d49bb728156256c7cc27e2063693bd55e67c351c
prerequisite-patch-id: 23d3dd9849a2f28c229b8a611a1f8861528c04c9
prerequisite-patch-id: 4fd1c465e6bf5e606fc7bb1b9e00bf01053cc11e
prerequisite-patch-id: 5ea7d6802c4ef2abf7f12b7d61f3df3ba39f8989
prerequisite-patch-id: 7dc520c358c10211da55318e5a0c77d36f89eb8a
prerequisite-patch-id: 36f23340273867179da7192209ab8324998602db
prerequisite-patch-id: d710b46236dafc2e45ff00f9d70231eb52d5f84e
prerequisite-patch-id: c3515efedad71c2ad085852b46eb3cd1653331a4
prerequisite-patch-id: db7d33142da39d52d128dfdffc1a81342ec4f4fb
prerequisite-patch-id: dcc241e6fde5a82ed49d7285634d582476381065
prerequisite-patch-id: b95775edee186891b2e88ada0427b8ba6dc9760c
prerequisite-patch-id: e49bcbf1a39cce4644264baed7e07d465516f756
prerequisite-patch-id: 9d6431b8c7506dfe370b56a4803aa998a5844f7e
prerequisite-patch-id: 51ef4e2f114a0da97365e8c4f6ffb7b99378009c
prerequisite-patch-id: ea4a2f0a06c452f83245895c776e34da9944cf99
prerequisite-patch-id: 45ed77a8725c0f82bf844f919f69175c50303e5d
prerequisite-patch-id: 7e404019f5a4dc08deba30ce691cd38ead208cc2
prerequisite-patch-id: 1dc4d9b4fa21413aa9f47638860c0747f66422c0
prerequisite-patch-id: 0968209713ff0c407a37d01afdd4e59cbe6678a9
prerequisite-patch-id: c64ca9632f121093329c0f9435c90e4e3e7649e8
prerequisite-patch-id: 30d3c4d7aab27125cf26b455ce166c940d7dc971
prerequisite-patch-id: 6d6cc6fbb69f8194414b96c01cc7aee83c456012
prerequisite-patch-id: 159b1471402ca64106161345a505edac937ab280
prerequisite-patch-id: abcc973417832255ab37e5434df33f16ec745a4c
prerequisite-patch-id: a37e0f657d6de4a06396c4210d3de98732f3cc01
prerequisite-patch-id: 7f90c50bcc57dbfb9f6963914fff3069894e7297
prerequisite-patch-id: 05b56aef1d2b4ef9e3d8f377b8313db18b2f1731
prerequisite-patch-id: 6831ffa290018cd5fc2d9a33aba281fd59e88a17
prerequisite-patch-id: 293420d35d75f5290ff872fcc445bdc36671fde4
prerequisite-patch-id: bab9525416b3e6b891b5b50a90a4bb7f62c84976
prerequisite-patch-id: d58cf81d120e0101f5d1a86b24285bb99f43d9c1
prerequisite-patch-id: f2314f2ccc886dfe36b7af3074e761ad7f96a582
prerequisite-patch-id: b6b4c6771ea2ebbd0a20fb9683a17e73da94daa3
prerequisite-patch-id: 9027ef988234a9ba0be5ef1ecfc667543676ab18
prerequisite-patch-id: 7a8c2aeb256e24df4969f39dc667f6400f5aa244
prerequisite-patch-id: cca4cd1a1bfd229c40fdabb8fc184f2ebd1f5d84
prerequisite-patch-id: 81c0e8780fe891af23d73092de8d0335ca1b9b04
prerequisite-patch-id: 92264ed4948e3332c57206c762df4c1bf4f74a75
prerequisite-patch-id: 20772fe261c6d01d2fe634cb9b5a771314b687ef
prerequisite-patch-id: d3370da91ef4e3cb39a06c1ad504df9d9d665064
prerequisite-patch-id: 8fc00a5e20b2ee66c4dd27b076d7aed721a79271
prerequisite-patch-id: 9b121ad916876f299f87016dbdd78cb026a47f8d
prerequisite-patch-id: 7a10a955d06b6f386f4efd6c47b1ed81ade0fe1b
prerequisite-patch-id: 4360b4cdfb46067ebe5af8f367550d8720705986
prerequisite-patch-id: d4dabe4d516b0ee921bc61e53f51bcd0e44f637f
prerequisite-patch-id: 12c16e68be3f4de0fe97e72a2bfe12afcaf9b282
prerequisite-patch-id: cd72befa764cf5206e5fe490d5fe284fe35bf86a
prerequisite-patch-id: d096999f294b6d8f0a6c5ed618e06428f92f68bd
prerequisite-patch-id: d9b9f10d05b18b139fd9edcd05c40f939ef346b4
prerequisite-patch-id: d2fd741f004a3dca070d510fd4edfe49160734fc
prerequisite-patch-id: 925409d7e8a70e4013f6d5a67183af984a1fcb54
prerequisite-patch-id: a15d5d0c222918d431b6133eeec35b691d86ac91
prerequisite-patch-id: d3401894662b933018327a15c1015c8078e4a3ff
prerequisite-patch-id: 8f61e8f90366de5b15d49ea32fd03e5519a54a25
prerequisite-patch-id: 34d97af463c82d21b23df95eb47aa5d417ce8224
prerequisite-patch-id: 8c86e236be6fce1ed64e50a991a7a9697dfb20e8
prerequisite-patch-id: 0b47aea150ff6f7383912d477d11bb24b34392c5
prerequisite-patch-id: fb92cc6e66490611bf64a2aebc658b35759d8d27
prerequisite-patch-id: ad0314969a3ce29f00b61bd60c4f038f1cf026ab
prerequisite-patch-id: 1887e75a55f7e2d24ade4ce13a47fe91a9c311e8
prerequisite-patch-id: 2fd67e69fa0a58461774f8c8bc8e515e39d99e4a
prerequisite-patch-id: feea1144b8ee7fbeb8bbd57ff2207922617dfa51
prerequisite-patch-id: 0e59513dff0ec61a1de5902ab65b3bae565120c1
prerequisite-patch-id: 8f8a9ea0ac0122bcfeab6179dc1b37f90412630b
prerequisite-patch-id: be777a8042edc59754c2699c594a2fdb945586b0
prerequisite-patch-id: faf0dffe2e8b379794216e1342ce2afd67a32286
prerequisite-patch-id: 0813ecb88b167ccff6dbea80845be43a2604a31a
prerequisite-patch-id: d57d3d27536563e326a7493181478ee6838f4b04
prerequisite-patch-id: 5df611b99798738b5490a029259e28d34a747db9
prerequisite-patch-id: ee8bc1c990b1e6b8ff2034754ec4eb73262036a5
prerequisite-patch-id: a29d2faac6abeceb266c7253bd580af0f312f1f0
prerequisite-patch-id: 78899c8397c2a78ef0d2120db874bcd7b9d73b6b
prerequisite-patch-id: 0e7929b2938b94b7d39fbca92af269957fe0a09b
prerequisite-patch-id: 0a389ec381b9516228b68f7becc8d4a8fda7bd4c
prerequisite-patch-id: 312fd3d586f08c6d4b1c9fdc5a7a32aa4158a1b8
prerequisite-patch-id: efd5074ac2f9702640e2d986bdd3f244b1ee7c70
prerequisite-patch-id: 1341137eaa54bb2da0e817c098fcf34e4f9e6fe1
prerequisite-patch-id: fe19c86128374fc4f9846aac4e62d6ef444f98c2
prerequisite-patch-id: ffb22b1e20570ec46ffc9970d895c94fe55191a3
prerequisite-patch-id: 510ebd1b04f2cd4fb8fe6f10d4c364d978ff8881
prerequisite-patch-id: f58b64ab53f3eedcce8be4d64d186392de84b289
prerequisite-patch-id: 9ef31ae0b49df78359aeb349917a81652dfb3875
prerequisite-patch-id: 879fc36051ba9670fe1fb8e04e6231373f12f507
prerequisite-patch-id: b49c7abf3003fa26a0c077eb479ebff8fa2faa9f
prerequisite-patch-id: 16544a39d6b4c53f1adb442be0ca06882f00ca9b
prerequisite-patch-id: b8a02c9194f34def19396b10a2a6b3d8f5ba5c23
prerequisite-patch-id: c0183d0bf850f389a11ecd315e065f9d2f3be51f
prerequisite-patch-id: fe7bbcf72f364ac73352a2d737d583adff3e7126
prerequisite-patch-id: 478c9f227428855792943a95b1740a055d31838c
prerequisite-patch-id: b0acfb18afc0bad27ba1f1d73b67fb3885eb9927
prerequisite-patch-id: 6361308773e7f294e5a3a1a37cadb22d2eee7475
prerequisite-patch-id: 8d2f8fb40e8ffed16307702a5b846a70594cf8d2
prerequisite-patch-id: a00bfceb4e803308b510fc0c3a209751413221bd
prerequisite-patch-id: 91a030cc51f57d2ae28121b7c188dba041ec7977
prerequisite-patch-id: ce8ac99dfeab39d788c2e5bf534521fc566d30b6
prerequisite-patch-id: c11fb21a302b1fd653a30548f66ff936e692bdc3
prerequisite-patch-id: 8ef3a1efffff2e613e2dc87f60a60ee791c4e64d
prerequisite-patch-id: 53ec325fdd29cf304e8a7dfea8110646d331b246
prerequisite-patch-id: 3c3d473da2a1c9b7c9b0f0cd6793e298882529d7
prerequisite-patch-id: 15977dd8f450c5efcc5c9deeadce27f7c0c7caa9
prerequisite-patch-id: 7de1bfb20a296c2aa5ea9fa0a8e4fb409aef0f1f
prerequisite-patch-id: 3733031794c962cb1d1a7230c77e7326c3c0f77b
prerequisite-patch-id: fec2b9e4e79544cc9572844a375b2f34c5868aba
prerequisite-patch-id: 0eda093e8264633060e313498db9c0edd1de25d1
prerequisite-patch-id: 9b2bdec424d6f09336e1e396bafaa8066b78ac4b
prerequisite-patch-id: 824a22da6d29fe8d72efe02518138d07b1dadb94
prerequisite-patch-id: 8fd1966b06104f046f6632c8a1b37c69df9d8227
prerequisite-patch-id: 68ae3b2c41ad30cb9667716815d4c54873dcea76
--
2.41.0
R
R
Roman Scherer wrote 5 days ago
Re: [bug#70584] [PATCH v2] gnu: Add emacs-llm.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
877cgd4xx4.fsf@burningswell.com
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:

Toggle quote (63 lines)
> 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?
-----BEGIN PGP SIGNATURE-----

iQFTBAEBCAA9FiEE0iajOdjfRIFd3gygPdpSUn0qwZkFAmYyHEcfHHJvbWFuLnNj
aGVyZXJAYnVybmluZ3N3ZWxsLmNvbQAKCRA92lJSfSrBmd12B/9ECtMq8vSh1R6h
l34KF2cxHXAKka1pF1x71vOSJDN6Pm2Sl91MU+W87poTtzcewZIhmXyhvFSW83fe
Jo9DObL/GCn569EZFaVr1KVicXeew/AZA4zeC701isgfegeoDvxoUvOigV5uY/gT
Vco+HUETbdnoaHOSq2QOS5mh9AoQw2wSZ7Z3Xu5dKH3rkulX1EEcI2EYPjFws4c1
VstxUdmeTFhkZksb8lwRRRV/QxHKjRhPbCriagJxCPKbOHTTFkyy84zF0enuphFN
H3ZSUdvtpQmnpVdMxrumH/r8ifMpabwKb+O7XtI1VKfPjJsvCAzJFjj1Gfl7rNAJ
kkyq86Fb
=kL53
-----END PGP SIGNATURE-----

?