diff mbox series

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

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

Commit Message

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

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


base-commit: 259372b7a95e3fea75a9ce1127a904e3f1ea3591

Comments

Liliana Marie Prikler April 26, 2024, 5 p.m. UTC | #1
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
Roman Scherer April 26, 2024, 10:35 p.m. UTC | #2
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:

> 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
>
Liliana Marie Prikler April 26, 2024, 10:46 p.m. UTC | #3
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
Roman Scherer April 26, 2024, 11:05 p.m. UTC | #4
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:

> 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
>
Liliana Marie Prikler April 26, 2024, 11:45 p.m. UTC | #5
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
Roman Scherer April 27, 2024, 7:20 a.m. UTC | #6
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:

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

Patch

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".