=============================================== Templates =============================================== LWE comes with a full template management system, leveraging the power of the venerable `Jinja `_ framework. Templates allow storing text in template files, and quickly leveraging the contents as your user input. Features: * Create/edit templates * Per-profile templates * ``{{ variable }}`` syntax substitution * Five different workflows for collecting variable values, editing, and running See the various ``/help template`` commands for more information. ----------------------------------------------- Builtin variables ----------------------------------------------- LWE exposes some builtin variables that can be used in templates: * ``{{ clipboard }}`` - Insert the contents of the clipboard ----------------------------------------------- Front matter ----------------------------------------------- Templates may include front matter (see the `example templates `_). These front matter attributes have special functionality: * ``description``: Displayed in the output of ``/templates`` * ``request_overrides``: A hash of model customizations to apply when the template is run: * ``system_message``: An existing system message alias, or a custom system message to use when running the template * ``title``: Sets the title of new conversations to this value * ``preset``: An existing preset for the provider/model configuration to use when running the template (see :ref:`presets_doc`) * ``activate_preset``: By default, a preset set in a template is only used during the run of the template. To switch the backend to using the preset for other requests by default, set this to ``true`` * ``preset_overrides``: A dictionary of metadata and model customization overrides to apply to the preset when running the template * ``metadata``: A dictionary of metadata overrides * ``model_customizations```: A dictionary of model customization overrides This dictionary is recursively merged with the struture of the preset configuration. To see the exact structure of a preset, use the ``/preset edit`` command. All other attributes will be passed to the template as variable substitutions.