Skip to content

Configuring Agentic AI Features

Overview

This document provides a detailed step-by-step guide to perform the required upgrade actions for Agentic AI after the deployment of the 8.2.1 tag. The process involves adding necessary packs and executing pipelines to ensure proper system functionality.

Important

DNS Configuration Requirement

If the customer environment is configured with a DNS hostname, PORTAL_HOST must be set to the portal DNS name for the Agent CollabOps feature to function correctly.

Parameter
Requirement
PORTAL_HOST Must be the portal DNS hostname (FQDN), not an IP address.
Allowed Example agents.cloudfabrix.io
Invalid Example 192.168.107.136
Do Not Include https://, port numbers (for example, :443), or path segments (for example, /portal).

1. Configure PORTAL_HOST

Follow the steps below after the upgrade if your environment uses a DNS hostname for the portal, configure PORTAL_HOST with the portal DNS hostname (FQDN) to enable the Agent CollabOps feature.

  • Step 1 — Open the Deployment Values File

On the CLI VM, open the deployment values file:

vi /opt/rdaf/deployment-scripts/values.yaml
  • Step 2 — Add the PORTAL_HOST Entry

Under portal-backend, add the PORTAL_HOST entry within the environment section:

environment:
  PORTAL_HOST: <portal-dns-fqdn>   # Add this variable and set to the DNS FQDN
  DATABASE_SQLALCHEMY_POOL_SIZE: xx
  DATABASE_SQLALCHEMY_MAX_OVERFLOW: xx
  CFX_URL_PREFIX: ''

Replace <portal-dns-fqdn> with your portal's actual DNS hostname (FQDN). Save and exit.

:wq
  • Step 3 — Upgrade the Portal Backend Container

After saving the values file, upgrade the portal backend container using the appropriate command for your deployment type.

rdafk8s platform upgrade --tag 8.2.1 --service rda-portal
rdaf platform upgrade --tag 8.2.1 --service portal-backend

Note

If DNS Name support is required, the corresponding parameter must be added in the values.yaml file for all relevant services, including Platform, Worker, and App services.

This configuration is only required for environments that use a custom DNS hostname. Environments using the default VIP configuration do not require this change.

Summary Checklist

Verify the following:

Type Item
Required Use a DNS hostname (FQDN) for the portal.
Required Add PORTAL_HOST under portal-backend → environment in values.yaml.
Required Save the values.yaml file after making changes.
Required Upgrade the portal backend container using the appropriate command for the deployment type.
Required Configure DNS parameters for Platform, Worker, and App services, if DNS support is required.
Not Allowed Use an IP address as the value for PORTAL_HOST.
Not Allowed Include https://, port numbers, or path segments in the PORTAL_HOST value.

2. Microphone Permission for Fabaio

If microphone access is unavailable while using Fabaio voice input, update the haproxy configuration as follows:

1. Open the haproxy configuration file:

vi /opt/rdaf/config/haproxy/haproxy.cfg

2. In the backend_portal section, remove the following header in permission policy:

http-response set-header Permissions-Policy "geolocation=(), microphone=(), camera=(), fullscreen=(self)"

3. Save the file and exit the editor.

In vi, use:

:wq!

4. For HA deployments, repeat Steps 1–3 on both HA instances.

5. Restart the haproxy service.

- For HA environments, restart both instances.

2. Add Required Packs

Important

This section applies exclusively to customers with an active Agentic AI license. For licensing inquiries, please contact support@fabrix.ai.

1. Navigation Path : Go to Main MenuConfigurationRDA AdministrationPacksUpload Pack

Below is a summary of the current pack names and their respective versions

Pack Name
Pack Version
AI Projects Administration App (tar file) 2026.06.25
Base Project Agentic Artifacts (tar file) 2026.06.23

2. Upload the following pack.

- Pack Name: AI Projects Administration App
- Pack Version: 2026.06.25

Upload Pack

upload_pack1

3. Activate the uploaded pack.

Requirements for Base Project Agentic Artifacts Pack

  • Ensure a valid license is added before activating the Base Project Agentic Artifacts Pack. The license can be added by navigating to Main Menu -> AdministrationLicense.

  • Confirm that an organization is set up, along with the required user groups and users.

  • Note that The Base Project Agentic Artifacts pack is supported now for single tenant and multi tenant setups.

4. Navigation Path : Go to Main MenuConfigurationRDA AdministrationPacksUpload Pack

5. Upload the following pack.

- Pack Name: Base Project Agentic Artifacts
- Pack Version: 2026.06.23

6. Activate this pack as well.

7. After the pack is activated, manually update the Common toolset and the system_instructions prompt template with the versions provided in the latest pack.This step is required to ensure that the latest tool and prompt template updates are applied.

Note

Verify both packs are successfully activated before proceeding to the next steps.

3. Execute Pipelines

Navigation Path : Go to Main MenuConfigurationRDA AdministrationPipelines -> Draft Pipelines -> Add with Text

Once the packs are activated, run the required pipeline to backfill conversation data. This step is required because the AI Administration → Conversations page will remain empty until the pipeline is executed. Running the pipeline populates the Conversations page with existing conversation records and calculates the corresponding Cost values, enabling the new Cost column to display historical and future conversation costs.

Draft Pipeline

Provide Pipeline Name and Pipeline Version

The pipeline is used to back up previous conversations and shared conversations.

Field Value
Pipeline Name conversation_cost_backup
Pipeline Version 1.0
%% stream = no and limit = 0

@c:new-block
    --> @dm:query-persistent-stream-iterate-by-chunk name = "rda_chat_sessions" &
            query = "prompt_id is not empty and conversationId is not empty GET token_usage_input_tokens,token_usage_output_tokens,token_usage_cache_tokens,conversationId,prompt_id" &
            batch_size = "5000"
    --> @dm:fixnull columns = "token_usage_input_tokens,token_usage_output_tokens,token_usage_cache_tokens" &
            value = "0" &
            apply_for_empty = "yes"
    --> @dm:to-type columns = "token_usage_input_tokens,token_usage_output_tokens,token_usage_cache_tokens" &
            type = "float"
    --> @dm:selectcolumns include = "^conversationId$|^prompt_id$|^token_usage_input_tokens$|^token_usage_output_tokens$|^token_usage_cache_tokens$"
    --> @dm:save name = "temp-chat_sessions_raw" & append = "yes"

--> @c:new-block
    --> @dm:recall name = "temp-chat_sessions_raw"
    --> @dm:groupby columns = "conversationId,prompt_id" &
            agg = "sum"
    --> @dm:enrich-using-pstream dict = "rda_chat_sessions" &
            query = "type is 'client'" &
            src_key_cols = "conversationId,prompt_id" &
            dict_key_cols = "conversationId,prompt_id" &
            enrich_cols = "message,llm,conversationLabel,ai_project_name,USER_ID,request_type,persona,timestamp"
    --> *dm:filter message is not empty
    --> @dm:rename-columns prompt="message" &
            conversation_id = "conversationId" &
            conversation_label = "conversationLabel" &
            user_id = "USER_ID" &
            total_input_tokens = "token_usage_input_tokens" &
            total_output_tokens = "token_usage_output_tokens" &
            total_cache_tokens = "token_usage_cache_tokens"
    --> @dm:fixnull columns = "total_input_tokens,total_output_tokens,total_cache_tokens" &
            value = "0" &
            apply_for_empty = "yes"
    --> @dm:to-type columns = "total_input_tokens,total_output_tokens,total_cache_tokens" &
            type = "float"
    ## Enrich with per-1M token rates from llm_model_costs.
    --> @dm:enrich-using-pstream dict = "llm_model_costs" &
            src_key_cols = "llm" &
            dict_key_cols = "llm_name" &
            enrich_cols = "input_token_cost_per1M,output_token_cost_per1M" &
            return_empty_cols = "yes"
    --> @dm:add-missing-columns columns = "input_token_cost_per1M,output_token_cost_per1M"
    --> @dm:fixnull columns = "input_token_cost_per1M,output_token_cost_per1M" &
            value = "0" &
            apply_for_empty = "yes"
    --> @dm:to-type columns = "input_token_cost_per1M,output_token_cost_per1M" &
            type = "float"
    --> @dm:eval total_cost = "round((total_input_tokens * input_token_cost_per1M + total_output_tokens * output_token_cost_per1M) / 1000000.0, 4)"
    --> @dm:to-type columns = "total_input_tokens,total_output_tokens,total_cache_tokens" &
            type = "int"
    --> @dm:selectcolumns include = "^conversation_id$|^conversation_label$|^prompt_id$|^prompt$|^persona$|^ai_project_name$|^user_id$|^llm$|^request_type$|^total_input_tokens$|^total_output_tokens$|^total_cache_tokens$|^total_cost$|^timestamp$"
    --> @rn:write-stream name = "rda_chat_conversation_costs"

Add with Text New

To execute a pipeline, click the three-dot menu corresponding to the pipeline below and select Run. If needed, enable Inspect Pipeline Traces for additional debugging. Ensure that the pipeline completes successfully before proceeding.

Run Pipeline

Pipeline Run

Once the pipeline is executed successfully, both existing and newly created conversations will be populated with the cost per prompt. The AI Administration → Conversations page will display historical conversations along with their calculated costs, and all new conversations will continue to have cost information recorded automatically

Note

1. Update the retention days of rda_chat_sessions stream to 180 days, aligning with the requirement since the previous version of ai_administration_app_projects pack had retention days of 31 days.

    {
    "retention_days": 180,
    "search_case_insensitive": true
    }
2. Check that llm_model_costs dataset has required data and ingest the dataset to llm_model_costs pstream.

3. Add gpt-4o-transcribe model to integration to make audio feature work.

4. The audio transcription functionality uses GPT-4o Transcribe (Audio-to-Text), and the text-to-speech functionality uses ElevenLabs (Text-to-Audio). Ensure that both credentials are configured and accessible after the upgrade if these features are required.