[[!meta title="LLM clients in Emacs, functionality and standardization"]] [[!meta copyright="Copyright © 2023 Andrew Hyatt"]] [[!inline pages="internal(2023/info/llm-nav)" raw="yes"]] # LLM clients in Emacs, functionality and standardization Andrew Hyatt (he/him) - - - [[!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"]]