Limits
This section describe what are virtual appliance limits and how to modify them.
API limits
Following limits are applied for the API itself.
Name | Unit | Default | Description |
---|---|---|---|
taskExpirationTime | seconds | 600 | Time when finished tasks are expired. API holds the information about finished tasks (both successfully finished and failed). These information are discarded after taskExpirationTime . Client usually polls on the task id. Client must retrieve the task status before it is expired. Maximum value is 3600 . |
taskGrpcTimeout | seconds | 300 | Maximum time API waits for any task to complete. If you process big audio files, you probably need to increase this limit. |
inputStorageSize | variable | 1GiB | Size of the input storage. When audio file is POSTed to the API, whole file must be stored on the disk. If you process big files or multiple files in parallel, then this limit must be probably increased. |
internalStorageSize | variable | 1GiB | Size of the internal storage. Each audiofile is converted into wav format before processing. Converted audio is stored on the disk. If you process big files or multiple files in parallel, then this limit must be probably increased. Also note the internalStorageSize must be greater or equal to the inputStorageSize . |
singleFileUploadTimeout | second | 120 | Maximum allowed time for uploading single file to the API. If you process big files or having a poor network connection, then this limit must be increased. |
singleFileUploadSize | bytes | 104857600 (== 100MB) | Maximum allowed size of an audio file to upload. If you process big files then this limit must be increased. Note that this is API/ingress limit not the UI limit! |
How to change the API limits
- Open text file
/data/speech-platform/speech-platform-values.yaml
either directly from inside virtual appliance or via File Browser. - Locate key
.spec.valuesContent.api.config
- Change the value of the corresponding limit to a new value.
api:
config:
taskExpirationTime: 1200 - Updated file should look like:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: speech-platform
namespace: kube-system
spec:
valuesContent: |-
<Not significant lines omitted>
api:
<Not significant lines omitted>
config:
taskExpirationTime: 1200 - Save the file.
- Application automatically recognizes that file was updated and redeploys itself with updated configuration.
- Check that the configuration is valid and successfully applied (Step 5 of Installation Guide).
Media Conversion limits
Following limits are applied for the Media Conversion technology.
Name | Unit | Default | Description |
---|---|---|---|
maxAudioLength | seconds | 7200 | Audio length limit. Processing of media files larger than this limit is rejected. |
How to change the Media Conversion limits
- Open text file
/data/speech-platform/speech-platform-values.yaml
either directly from inside virtual appliance or via File Browser. - Locate key
.spec.valuesContent.media-conversion.config
- Change the value of the corresponding limit to a new value.
media-conversion:
config:
# 10 hours
maxAudioLength: 36000 - Updated file should look like:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: speech-platform
namespace: kube-system
spec:
valuesContent: |-
<Not significant lines omitted>
media-conversion:
<Not significant lines omitted>
config:
maxAudioLength: 36000 - Save the file.
- Application automatically recognizes that file was updated and redeploys itself with updated configuration.
- Check that the configuration is valid and successfully applied (Step 5 of Installation Guide).
UI limits
Following limits are applied for the UI application itself.
Name | Unit | Default | Description |
---|---|---|---|
taskParallelism | 4 | UI post task to the API and polls for the task until it is finished. This controls how many tasks can be processed in parallel. | |
taskPollingInterval | seconds | 1 | Duration between poll attempts. |
taskPollingTimeout | seconds | 3600 | How long the UI polls for the task. How long is the UI willing to wait until the task is finished. |
Authenticity Verification UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.authenticityVerification
are
applicable only for Authenticity Verification.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Emotion Recognition UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.emotionRecognition
are applicable
only for Authenticity Verification.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Speaker Identification UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.speakerIdentification
are
applicable only for Speaker Identification.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Gender Identification UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.genderIdentification
are applicable
only for Gender Identification.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Language Identification UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.languageIdentification
are
applicable only for Language Identification.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Speaker Diarization UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.speakerDiarization
are applicable
only for Speaker Diarization.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Speech to text UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.speechToText
are applicable only
for Speech to Text. Limits are applicable for both Enhanced Speech to Text built
on Whisper and Speech to Text by Phonexia 6th Gen.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Speech Translation UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.speechTranslation
are applicable
only for Speech Translation.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Voice Activity Detection UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.voiceActivityDetection
are
applicable only for Voice Activity Detection.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
Audio Quality Estimation UI limits
Limits in config section
.spec.valuesContent.frontend.config.limits.audioQualityEstimation
are
applicable only for Audio Quality Estimation.
Name | Unit | Default | Description |
---|---|---|---|
maxFileSize | bytes | 5000000 (== 5MB) | Maximum allowed size of an audio file to upload. Note that this must be lower than or equal to the singleFileUploadSize API limit. |
maxFilesCount | 100 | Maximum number of files to be uploaded. | |
maxVoiceRecorderDuration | seconds | 300 | Maximum duration of the record captured by voice recorder. |
How to change the UI limits
- Open text file
/data/speech-platform/speech-platform-values.yaml
either directly from inside virtual appliance or via File Browser. - Locate key
.spec.valuesContent.frontend.config.limits
- Change the value of the corresponding limit to a new value.
frontend:
config:
limits:
taskParallelism: 2 - Updated file should look like:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: speech-platform
namespace: kube-system
spec:
valuesContent: |-
<Not significant lines omitted>
frontend:
<Not significant lines omitted>
config:
limits:
taskParallelism: 2 - Save the file.
- Application automatically recognizes that file was updated and redeploys itself with updated configuration.
- Check that the configuration is valid and successfully applied (Step 5 of Installation Guide).
Pod count limits
Currently, the platform is limited by the number of pods that can be created
inside the Kubernetes cluster. The maximum number of pods is set to 300
.
How to change the pod count limits
Pod count limits can be overridden by editing the /etc/rancher/k3s/config.yaml
file. To override the maximal number of pods max-pods
parameter needs to be
added/edited. Example:
debug: true
system-default-registry: airgapped.phonexia.com
disable:
- traefik
- cloud-controller
kubelet-arg:
- "kube-reserved=cpu=500m,memory=1Gi,ephemeral-storage=2Gi"
- "system-reserved=cpu=500m, memory=1Gi,ephemeral-storage=2Gi"
- "eviction-hard=memory.available<500Mi,nodefs.available<10%"
- "max-pods=350"
After editing configuration, virtual machine needs to be restarted (stop and start) to apply changes.
Admin backends limits
Following limits are applied to admin backends (filebrowser, grafana, prometheus).
Name | Unit | Default | Description |
---|---|---|---|
singleFileUploadTimeout | seconds | 120 | Maximum allowed time for uploading. |
singleFileUploadSize | bytes | 5368709120 (== 5GB) | Maximum allowed size of an audio file to upload. |
How to change admin backends limits
- Open text file
/data/speech-platform/speech-platform-values.yaml
either directly from inside virtual appliance or via File Browser. - Locate key
.spec.valuesContent.ingressAdmin
- Change the value of the corresponding limit to a new value.
ingressAdmin:
singleFileUploadTimeout: 300 - Updated file should look like:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: speech-platform
namespace: kube-system
spec:
valuesContent: |-
<Not significant lines omitted>
ingressAdmin:
<Not significant lines omitted>
singleFileUploadTimeout: 300 - Save the file
- Application automatically recognizes that file was updated and redeploys itself with updated configuration.
- Check that the configuration is valid and successfully applied (Step 5 of Installation Guide).
GPU sharing limits
This limits number of pods which can share single GPU.
Name | Unit | Default | Description |
---|---|---|---|
replicas | count | 3 | Number of pods sharing single GPU |
How to change GPU sharing limits
-
Open text file
/data/speech-platform/nvidia-device-plugin-configs.yaml
either directly from inside virtual appliance or via File Browser. -
Locate key
.data.default.sharing.timeSlicing.resources.replicas
-
Change the value of
replicas
key to a new value.replicas: 6
-
Updated file should look like:
apiVersion: v1
kind: ConfigMap
metadata:
name: nvidia-device-plugin-configs
namespace: nvidia-device-plugin
data:
default: |-
<Not significant lines omitted>
resources:
- name: nvidia.com/gpu
replicas: 6 -
Save the file
-
Application automatically recognizes that file was updated and redeploys itself with updated configuration.
How to disable GPU sharing
In some cases it might be handy to disable GPU sharing:
-
Open text file
/data/speech-platform/nvidia-device-plugin-configs.yaml
either directly from inside virtual appliance or via File Browser. -
Locate key
.data.default.sharing
. -
Delete all content under
.data.default.sharing
key. -
Updated file should look like:
apiVersion: v1
kind: ConfigMap
metadata:
name: nvidia-device-plugin-configs
namespace: nvidia-device-plugin
data:
default: |-
version: v1
sharing: