KLapper Deployment Guide

KLapper Deployment Guide





KLapper Deployment Guide

V1.0








Introduction

This document details the deployment process for our KLapper virtual assistant builder.

Prerequisites

The deployment process is on Azure Cloud, we need the following prerequisites:

Azure Cloud Subscription.
Azure Subscription with following Resource Providers enabled:
  1. Microsoft.BotService
  1. Microsoft.CognitiveServices
  1. Microsoft.DocumentDB
  1. Microsoft.Web
Azure Cloud Admin account with Subscription level privileges.
Understanding Azure Cloud Network.
Azure PowerShell Module (12.1.0)
Minimum permission required:
  1. Azure subscription access
  1. Resource creation – Contributor/Owner at the subscription level or resource group level
  1. Azure OpenAI service – Cognitive Services Contributor
  1. Key management – Cognitive Services User
  1. Resource deletion – Contributor/Owner at the resource group level
PowerShell execution policy to run unsigned script files
Whitelist following domains – This is required for downloading installation files and licensing check:
  1. https://admin.klapper.ai
  1. *.klapper.ai

Azure Requirements

These requirements will get provisioned by the PowerShell script

  1. App Service Plan
            Tier - PremiumMV3
            OS – Linux
  1. App Service Plan
            Tier – PremiumMV3
            OS - Windows
  1. Builder
            Azure App Service 
  1. Python
            Azure App Service
  1. Azure Open AI Service
            Model GPT-4o 
            125K token quota is required
  1. Database
            Azure Cosmos DB
            Pricing model – Provisioned throughput
            Performance tier - Standard
  1. Azure Entra App

KLapper Connecting to On Premise Systems

To fully leverage the capabilities of KLapper, we should be ready with the connectivity requirements to below platforms

  1. SQL Server – This can be residing in on premise network
  1. SharePoint – This can be on premise SharePoint instance or online
  1. iManage – This can be on premise instance or cloud
  1. NetDocuments

Connecting to On-Premises SQL Server/SharePoint/iManage

KLapper is deployed in Azure App Services. To connect an app service deployed in Azure to on-premises systems like SQL/SharePoint/iManage you can follow one of the approaches outlined below


Hybrid Connection

  1. Uses Azure Relay service
  1. Doesn't require changes to network configuration
  1. Doesn't expose on-premises systems to the internet
  1. Suitable for simple, single-connection scenarios

Azure Virtual Network Integration

  1. Connect App Service to an Azure VNet
  1. Use VNet-to-VNet connection or ExpressRoute to connect Azure VNet to on-premises network
  1. Provides more comprehensive network integration

Requirements

  1. App Service Plan: Standard, Premium, or Isolated tier
  1. Azure VNet Gateway
  1. On-premises VPN device or ExpressRoute circuit

Azure ExpressRoute

  1. Private connection between Azure datacenter and on-premises infrastructure
  2. Doesn't go over the public internet
  3. Higher bandwidth and lower latency than typical VPN connections

Requirements

  1. ExpressRoute circuit
  1. ExpressRoute Gateway in Azure VNet
  1. Compatible network equipment or partnership with an ExpressRoute connectivity provider

Site-to-Site VPN

  1. IPsec VPN tunnel between Azure VNet and on-premises network
  1. Goes over the public internet, but traffic is encrypted

Requirements

  1. VPN Gateway in Azure VNet
  1. On-premises VPN device with a public IP address

Azure SQL Managed Instance with Azure Arc

  1. Deploy Azure SQL Managed Instance to on-premises environment
  1. Manage through Azure portal, but data remains on-premises

Requirements

  1. Azure Arc-enabled servers
  1. Suitable on-premises infrastructure to host SQL Managed Instance

Installation

PowerShell Setup

  1. Open Windows PowerShell as an administrator
  1. Verify the proper Windows PowerShell version is installed using this script (5.1)
  1. $PSVersionTable.PSVersion
  1. Run below script
  1. Set-ExecutionPolicy Unrestricted -Force
  1. Run below script and check the Azure PowerShell module version is 12.1.0
  1. Get-InstalledModule -Name Az -AllVersions | Select-Object Name,Version
  2. If the incorrect version is installed, use this command to uninstall the old version before downloading 12.1.0: Uninstall-AzModule -Name Az -Version {VersionNumber}
  1. To install the specific version use below command
  1. Install-Module Az -RequiredVersion 12.1.0 -Scope CurrentUser -Repository PSGallery
  1. Run below script
  1. Get-AzContext
  1. Run below script
  1. Connect-AzAccount 

Installation Process

  1. Download the installation zip file shared.
  1. Extract zip file to the folder in a Windows 10, 11 or 2019 server with PowerShell configured
  1. Make sure the user performing installation has Provisioning privileges in Azure.
  1. Open Inputs.ps1 and fill in the details. No underscores or capital letters should be used for any variables, after the Resource Group Name.

Variable Name

Description

$licenseKey

Please use the license key provided to you by the support team

$adminFirstName

First name of the Administrator who manages KLapper

$adminLastName

Last name of the Administrator who manages KLapper

$adminEmail

Email address of the Administrator who manages KLapper

$tenantId

Azure tenant id

$subscriptionId

Azure subscription id

$location

Azure location (Ex: eastus, eastus2 etc)

$resourceGroupName

Azure resource group under which KLapper services to be provisioned

$cosmosDBName

This will be used to provision Azure Cosmos account name

$cosmosDatabase

This will be used to provision new Database inside the Cosmos account

$appServiceWindowsPlanName

Windows app service plan name

$appServiceLinuxPlanName

Linux app service plan name

$builderAppServiceName

KLapper builder app service name

$fmApiAppServiceName

KLapper file manager app service name

$openAIServiceName

Azure Open AI service name

$entraAppName

Azure Entra app name

$builderUrl

In case if you are planning to add a custom domain for the KLapper builder app service. Please fill in or it will be the builder app service name

Ex: https://appService.azurewebsites.net



  1. Navigate to the extracted folder in PowerShell
  1. Run Provisioning.ps1
  1. This will create provisioning_output.txt with details of the resources that got provisioned

Post installation

Grant Permission to Entra App

Grant “Contribute” access to Entra App on the resource group, so KLapper can dynamically provision Azure Bot Services as part of assistant creation process

  1. Open Azure portal
  1. Open “App Registrations”
  1. Search for the Entra App we created using PowerShell and open it
  1. From left menu, select “API Permissions”
  1. The following permissions should be requested, click “Grant admin consent”
  2. Select Microsoft Graph:
  1.  Application.ReadWrite.OwnedBy with type as “Application”
  1. User.ReadBasic.All with type as “Application”
  2.  Select SharePoint:
  3. i.        AllSites.Read with type as “Delegated”
  4. ii.        Sites.Search.All with type as “Delegated”
  1. Go back to Azure portal home page
  1. Open “Resource Groups”
  1. Search for the Resource Group we created in Pre-Install step
  1. From left menu, select “Access control (IAM)
  1. Select “Role assignments”
  1. Click on “Add role assignment”
  1. Under Role tab -> Privileged administrator roles -> Select “Contributor”
  1. Under Members tab -> Assign access to “User, group or service principal”
  1. Click on “+ Select members”
  1. Search for the Entra App
  1. Click on “Select”
  1. Click on “Review + assign”

Configuring Builder Settings

  1. Open KLapper builder App Service URL
  1. Login using your email address
  1. Validate the settings

Troubleshooting

Azure Open AI Deployment Failed

In this case we must manually deploy gpt-4o model

  1. Open Azure portal
  1. Open the Resource Group
  1. Open the “Azure Open AI” service
  1. From left menu – Resource Management -> Open Model deployments
  1. Click on “Manage Deployments”
  1. Click on “Create new deployment”
  1. Enter name = “klapper-gpt-4o”
  1. Select model = “gpt-4o”
  1. Select Standard
  1. Select Content Filter = “Default”
  1. And create the deployment

Updating KLapper

Go to global settings


 Click update and proceed

A screenshot of a software updateDescription automatically generated

How to add a custom domain for KLapper

·        Head to the Azure portal, and navigate to the resource group that was created for KLapper

·        Open the KLapper Builder App Service

·        From the left column, select Custom domains



From the Add custom domain panel, select the following:
Domain provider: All other domain services

TLS/SSL certificate: App Service Managed Certificate

TSL/SSL type: SNI SSL

Then enter your desired domain name, validate all entries

Finally press Validate then Add








      • Related Articles

      • KLapper Admin User Guide

        KLapper Admin User Guide V1.0 Introduction This guide details all features available to an Admin in KLapper, a comprehensive and advanced platform for building and managing intelligent assistants. KLapper is designed to be both intuitive and ...
      • KLapper End User Guide

        KLapper End User Guide V1.0 Introduction Your Virtual Assistant for Intelligent Counsel, Everywhere! KLapper is an advanced virtual legal assistant designed to enhance the efficiency and productivity of legal professionals. Built specifically for the ...
      • v1.1.9

        KLapper v1.1.9 Release Notes Features Fine-Tuning Questions and Answers: Builders can now add custom questions and answers for specific documents, allowing them to refine how the assistant responds. More details are available in the Admin User Guide. ...
      • v1.1.10

        KLapper v1.1.10 Release Notes Features Add Fine Tuning from Report Section: Admins can now add/delete fine tuning based on end-user feedback from within the Report page on the KLapper Builder site. Improved Responses: Using a specified assistant ...
      • v1.1.8

        KLapper v1.1.8 Release Notes Features SharePoint Lists now take less time for KLapper to learn. Item References Link now has a default placeholder when configuring a SharePoint List for KLapper to learn. For SharePoint/iManage/NetDocuments, the ...