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 | 2GiB | 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 | 524288000 (500 MB) | 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.
Example: Increasing the time to wait for a task to finish to 20 minutes (useful for long-running tasks, e.g. Whisper-based transcription run on CPU)api:
config:
taskGrpcTime: 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 (Configuration file checks).
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.
Example: Increasing the maximum audio length to 10 hoursmedia-conversion:
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 (Configuration file checks).
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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (100 MB) | 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 | 100000000 (== 100 MB) | 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.
Example: Decrease number of simultaneously processed tasks to 2frontend:
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 (Configuration file checks).
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 maximum number of pods, the max-pods
parameter needs to
be added/edited.
Example: Increase the maximum number of pods to 350
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 (== 5 GB) | 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.
Example: Increase time to wait for the file upload to finish to 5 minutesingressAdmin:
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 (Configuration file checks).
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.
Example: Increase the number of pods sharing the GPU to 6replicas: 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: