On-Premises: Preparing for the Automation.AI Installation

The Automation.AI component allows you to communicate with multiple Large Language Models (LLMs), thus allowing you to incorporate state-of-the-art AI technology to help you design automated processes, write scripts, analyze and explain the automation output, troubleshoot issues and suggest potential solutions to those issues.

Before installing Automation.AI, you have to make sure your system, once installed, will be able to connect to your system and to the LLM of your choice.

For on-premises systems, you must configure the application.properties file that is delivered with the offering to match your system needs.

Defining the application.properties File

The application.properties file allows you to define the connection to one or more of the LLMs supported:

#gemini llm settings
spring.ai.vertex.ai.gemini.location=
spring.ai.vertex.ai.gemini.api-endpoint=
# ollama llm settings
spring.ai.ollama.base-url=
spring.ai.ollama.chat.options.model=
# openai llm settings
spring.ai.openai.api-key=
spring.ai.openai.chat.options.model=
# azure.openai llm settings
spring.ai.azure.openai.endpoint=
spring.ai.azure.openai.api-key=

For more information about the different settings for Google VertexAI, Ollama, OpenAI and Azure OpenAI, please refer to the Chat Model API documentation on the Spring AI website, see Chat Model API.

Once you have configured the relevant LLM(s), you need to specify which of the services should the Automation.AI component use along with the port that the system should use:

  • server.port

    Define the relevant port. Port 8080 is used by default.

  • automation.ai.model.name

    Define the default LLM that you want to incorporate to your system. The options available are vertex.ai.gemini, ollama, openai, and azure.openai.

Note: When using the ONE Installer, you only need to define the LLM, as the port is defined automatically.

Optionally, you can also define a timeout for the chat history or how often the system should check if any conversations timed out using the following parameters:

  • automation.ai.chat.conversation-timeout

    Define the conversation history timeout in minutes

  • automation.ai.chat.check-period

    Define in minutes how often should the system check for conversations

Example

The following example shows a connection using the default port and the Vertex AI Gemini LLM model, where the chat history times out every 24 hours and the system checks every 60 minutes if there are any conversations that have timed out.

# server settings
server.port=8080

# default llm model
automation.ai.model.name=vertex.ai.gemini
# chat conversation timeout in minutes
automation.ai.chat.conversation.timeout=1440
automation.ai.chat.check-period=60

You can also use environment variables to define these parameters using the following keys:

  • SERVER_PORT

  • AUTOMATION_AI_MODEL_NAME

  • AUTOMATION_AI_CHAT_CONVERSATIONTIMEOUT

  • AUTOMATION_AI_CHAT_CHECKPERIOD

  • SPRING_AI_VERTEX_AI_GEMINI_LOCATION

  • SPRING_AI_VERTEX_AI_GEMINI_APIENDPOINT

  • SPRING_AI_OLLAMA_BASEURL

  • SPRING_AI_OLLAMA_CHAT_OPTIONS_MODEL

  • SPRING_AI_OPENAI_APIKEY

  • SPRING_AI_OPENAI_CHAT_OPTIONS_MODEL

  • SPRING_AI_AZURE_OPENAI_ENDPOINT

  • SPRING_AI_AZURE_OPENAI_API_KEY

Defining the Logging Configuration

The Automation.AI component leverages Logback (the Spring Boot default) for all system logging. This implementation is fully compatible with standard Spring Boot Logging Reference properties, which can be customized by modifying the logging.properties file located at {$AUTOMIC_AUTOMATION}/Automation.AI/Engine/logging.properties.

By default, the log includes the timestamp, log level, trace/span IDs, and the message content. The log pattern produces messages in the following format:

2026-02-04 13:53:40.132 INFO [Automation-AI, traceId=04851954-829a-4dad-b2fc-f32839bf26eb, spanId=881788dd-bfc8-4051-9faf-e628641005cf] [boundedElastic-4] c.a.ai.AutomationAiChatService - No chatId provided, creating a new one: a9c823b0-d5e1-44a7-ae48-00078d67a040

The logging behavior is managed via Spring Profiles, allowing for distinct configurations based on the use case. The supported profiles are:

  • console: Directs logs to standard output (STDOUT).

  • file: Enables standard file-based logging.

  • full: Enables comprehensive logging across all available appenders.

To enable standard file-based logging, you must set the active Spring profile to file, for example spring.profiles.active=file in your properties.

When the file profile is active, logs are written to the local file system with the following default configuration:

  • Log Directory: temp

  • File Name: automation-ai_log.txt

  • Rotation and Retention: To ensure system stability and prevent disk exhaustion, the following rotation policies are applied:

    • Maximum File Size: 800MB

      A new log file is created once this limit is reached.

    • Maximum History: 9 files

      The system retains up to 9 archived log files before deleting the oldest ones.

    Example:

    logging.file.path=temp/

    logging.file.name=${logging.file.path:temp/}/automation-ai_log.txt

    logging.logback.rollingpolicy.max-file-size=800MB

    logging.logback.rollingpolicy.max-history=9

While the defaults are optimized for standard operations, you can customize the log rotation behavior in the logging.properties file using standard Spring Boot properties. For example, you can adjust logging.logback.rollingpolicy.max-file-size to control how quickly files rotate or logging.logback.rollingpolicy.max-history to extend the log retention period. For more information, see File Rotation.

To update your configuration, modify the logging.properties file or adjust the active Spring profile and restart Automation.AI to apply the changes.

For a comprehensive list of supported properties and advanced customization, refer to the official Spring Boot documentation at Spring Boot Logging Reference.

See also: