mirror of
https://github.com/Hopiu/llm.git
synced 2026-03-17 21:20:24 +00:00
1.3 KiB
1.3 KiB
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.
register_models(register)
This hook can be used to register one or more additional models.
import llm
@llm.hookimpl
def register_models(register):
register(HelloWorld())
class HelloWorld(llm.Model):
model_id = "helloworld"
def execute(self, prompt, stream, response):
return ["hello world"]
{ref}tutorial-model-plugin describes how to use this hook in detail.