Some more work on multi models

This commit is contained in:
mesonium
2024-06-14 19:53:26 +02:00
committed by hueso
parent d510b74d3d
commit 2ac06ad8a5
6 changed files with 112 additions and 84 deletions

View File

@@ -15,11 +15,10 @@
import typing
from pathlib import Path
from typing import Any
from gajim.gtk.const import Setting, SettingKind, SettingType
from gajim.gtk.preferences import PreferenceBox
from gajim.plugins.plugins_i18n import _
from .model import Model
from gajim.gtk.const import Setting
try:
import whisper
@@ -29,7 +28,7 @@ except ModuleNotFoundError:
import whisper
class WhisperModel:
class WhisperModel(Model):
def __init__(self):
self._model_sizes = ['tiny', 'small', 'base', 'medium', 'large']
self._multilanguage = True
@@ -43,50 +42,6 @@ class WhisperModel:
result = model.transcribe(audio_file)
return result["text"]
def _build_config(self) -> list[Setting]:
whisper_model_sizes = ('tiny', 'base', 'small', 'medium', 'large')
settings = [
Setting(SettingKind.COMBO,
_('Language Model'),
SettingType.VALUE,
callback=self._on_setting,
props={'combo_items': whisper_model_sizes}),
Setting(SettingKind.SWITCH,
_('Use Multilanguage Model'),
SettingType.VALUE,
self._multilanguage,
callback=self._on_setting,
data='use_multilanguage_model'),
]
return settings
def _on_setting(self, setting: Setting):
def on_setting(self, setting: Setting):
pass
################################################################################
# Whisper Settings UI
################################################################################
class OpenAIWhisperGeneral(PreferenceBox):
def __init__(self, *args: Any) -> None:
model_sizes = {
'tiny': _('Tiny'),
'small': _('Small'),
'basic': _('Basic'),
'medium': _('Medium'),
'large': _('Large'),
}
settings = [
Setting(SettingKind.POPOVER,
_('Language Model'),
SettingType.VALUE,
callback=None,
props={'entries': model_sizes},
desc=_('Model Size')),
]
PreferenceBox.__init__(self, settings)