1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
[[!meta title="LLM clients in Emacs, functionality and standardization"]]
[[!meta copyright="Copyright © 2023 Andrew Hyatt"]]
[[!inline pages="internal(2023/info/llm-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# LLM clients in Emacs, functionality and standardization
Andrew Hyatt (he/him) - <ahyatt@gmail.com> - <https://urbanists.social/@ahyatt> - <http://github.com/ahyatt>
[[!inline pages="internal(2023/info/llm-before)" raw="yes"]]
As an already powerful way to handle a variety of textual tasks, Emacs
seems unique well poised to take advantage of Large Language Models
(LLMs). We'll go over what LLMs are and are used for, followed by listing
the significant LLM client packages already for Emacs. That functionality
that these packages provide can be broken down into the basic features that
are provided through these packages. However, each package currently is
managing things in an uncoordinated way. Each might support different LLM
providers, or perhaps local LLMs. Those LLMs support different
functionality. Some packages directly connect to the LLM APIs, others use
popular non-Emacs packages for doing so. The LLMs themselves are evolving
rapidly. There is both a need to have some standardization so users don't
have to configure their API keys or other setup independently for each
package, but also a risk that any standardization will be premature. We
show what has been done in the area of standardization so far, and what
should happen in the future.
About the speaker:
Andrew Hyatt has contributed the Emacs websocket package, the triples
(making a triple-based DB library) and the ekg package (a tag-based
note-taking application). He has been using various other LLM
integrations, and ss part of extending ekg, he's been working on his own.
[[!inline pages="internal(2023/info/llm-after)" raw="yes"]]
[[!inline pages="internal(2023/info/llm-nav)" raw="yes"]]
|