1.7 KiB
Plugins
LLM plugins can provide extra features to the tool.
The llm-hello-world plugin is the current best example of how to build and package a plugin.
Installing plugins
Plugins must be installed in the same virtual environment as LLM itself. You can use the llm install command (a thin wrapper around pip install) for this:
llm install llm-hello-world
Plugins can be uninstalled with llm uninstall:
llm uninstall llm-hello-world -y
The -y flag skips asking for confirmation.
Listing installed plugins
Run llm plugins to list installed plugins:
llm plugins
[
{
"name": "llm-hello-world",
"hooks": [
"register_commands"
],
"version": "0.1"
}
]
Plugin hooks
Plugins use plugin hooks to customize LLM's behavior. These hooks are powered by the Pluggy plugin system.
Each plugin can implement one or more hooks using the @hookimpl decorator against one of the hook function names described on this page.
LLM imitates the Datasette plugin system. The Datasette plugin documentation describes how plugins work.
register_commands(cli)
This hook adds new commands to the llm CLI tool - for example llm extra-command.
This example plugin adds a new hello-world command that prints "Hello world!":
from llm import hookimpl
import click
@hookimpl
def register_commands(cli):
@cli.command(name="hello-world")
def hello_world():
"Print hello world"
click.echo("Hello world!")
This new command will be added to llm --help and can be run using llm hello-world.