# AI-based classification (mmaitag)

================ ================================ Module Name: mmaitag Author:: Adiscon Available:: 9.0+ ================ ================================

## Purpose

The mmaitag module enriches log messages with classification tags obtained from an external AI service. Each message is sent to the provider individually and the resulting tag is stored in a custom variable.

### Default labels

Label | Description |
——— | ———————————————————- |
NOISE | Can be ignored, redundant, or irrelevant for most purposes |
REGULAR | Normal messages of operational interest |
IMPORTANT | Should be logged and may indicate early signs of issues |
CRITICAL | Indicates immediate or serious problems |

## Action Parameters

Note

Parameter names are case-insensitive; camelCase is recommended for readability.

Parameter | Summary
--- | ---
provider | Selects which backend provider processes the classification (`gemini` or `gemini_mock`).
tag | Names the message variable used to store the classification tag.
model | Specifies the AI model identifier used by the provider.
expert.initialPrompt | Provides a custom prompt text used by the AI provider before classifying messages.
inputProperty | Selects which message property is classified instead of the raw message.
apiKey | Sets the API key used to authenticate with the provider.
apiKeyFile | Specifies a file containing the API key for the provider.

## Example

    module(load="mmaitag")
    action(type="mmaitag" provider="gemini" apikey="ABC" tag="$.aitag")

Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.