.. include:: /Includes.rst.txt .. _developer-configuration-presets: ===================== Configuration presets ===================== A consuming extension can declare the ``LlmConfiguration`` records it needs as **configuration presets**. nr_llm lists declared-but-not-yet imported presets as *pending*; a backend admin imports one with a single confirmation. See :ref:`ADR-056 ` for the design rationale. A preset expresses **requirements** — model capabilities and constraints as :php:`ModelSelectionCriteria` — never a concrete provider, model, or API key. The imported record runs in criteria selection mode, so :php:`ModelSelectionService` resolves the actual model on every run against whatever the admin has configured. .. _developer-configuration-presets-declaring: Declaring presets in your extension =================================== Implement :php:`ConfigurationPresetProviderInterface`. The ``nr_llm.configuration_preset`` DI tag is applied automatically when your extension's :file:`Services.yaml` has ``autoconfigure: true`` (the TYPO3 default): .. code-block:: php `). A backend-module UI on top of these endpoints is a planned follow-up.