---
title: "Managing configurations"
manual: "TYPO3 LLM Extension"
version: "0.35"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-llm:administration-configurations@0.35"
source: "Administration/Configurations.rst"
modified: "2026-09-16T22:09:16+00:00"
---

# Managing configurations

Configurations define use-case-specific presets that
combine a model with a system prompt and generation
parameters. Extension developers reference
configurations by identifier in their code.

![Configuration list with model assignment, use-case type, and parameter summary](../Images/backend-configurations.png)

## Adding a configuration manually

1.  Navigate to **AI > Setup >
    Configurations**.
1.  Click **Add Configuration**.
1.  Fill in the required fields:

    -   ****Identifier****

        Unique slug for programmatic access
        (e.g., `blog-summarizer`).

    -   ****Name****

        Display name (e.g., `Blog Post Summarizer`).

    -   ****Model****

        Select the model to use.

    -   ****System Prompt****

        The system message that sets the AI's behavior
        and context.

    -   ****Prompt snippet tags****

        Optional. Active [prompt snippets](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-snippets-configuration@0.35)
        carrying any ticked tag are appended to the
        system prompt of every request made with this
        configuration.
1.  Optionally adjust temperature (0.0-2.0), top_p,
    frequency/presence penalty, max tokens, and
    use-case type (`chat`, `completion`,
    `embedding`, `translation`).
1.  Click **Save**.

> [!TIP]
> Use the [Configuration wizard](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-wizards-config@0.35) to generate all
> fields from a plain-language description of your
> use case.

## Importing configuration presets

Extensions consuming nr_llm can declare the
configurations they need as *presets*
([ADR-056](https://docs.typo3.org/permalink/netresearch/nr-llm:adr-056@0.35)). When at least one
declared preset has not been imported yet, the
configuration list shows a **Pending
presets** panel above the records.

Each pending preset row shows the preset's name,
identifier, description, and a requirement check:

-   *Satisfiable* — an active model currently
    matches the preset's requirements; the model
    that would be used right now is named. Click
    **Import** to create the configuration
    record with one confirmation.
-   *Not satisfiable* — no active model matches;
    the first missing requirement is named. The
    **Import** button stays disabled until
    you configure a matching provider and model.

Imported records are normal criteria-mode
configurations: the model is resolved at runtime
from the providers and models you configured, and
you can edit or delete the record like any other.
The panel disappears once no presets are pending.

If a consuming extension later changes its preset
declaration, the imported configuration is flagged
with a **Preset changed** badge in the
list. The record is never updated automatically.

Next to the badge, **Review update** opens
a dialog that lists, field by field, the record's
current value against the changed declaration.
Confirming with **Apply update** overwrites
those record fields with the declared values and
clears the badge. Your own settings are preserved:
whether the configuration is active or the default,
its backend-group assignment, and its fallback chain
are never changed. If you switched the configuration
to fixed model selection, or the changed
requirements no longer match any active model, the
update is refused with the reason shown.

## Testing a configuration

Click **Test Configuration** on any row.
The test sends a short prompt to the model and shows
the response, model ID, and token usage.

![Configuration test modal showing successful response from Qwen 3 via Ollama](../Images/backend-config-test.png)

## Editing configurations

Click a configuration row to edit. Changes take
effect immediately for any extension code that
references this configuration's identifier — no
code deployment needed.
