👍️[Update] Model : use_translation_featureを削除/それに伴い一部機能を修正

This commit is contained in:
misyaguziya
2024-10-30 00:37:41 +09:00
parent 7fd3fad3ea
commit d777339110
4 changed files with 16 additions and 64 deletions

View File

@@ -676,17 +676,6 @@ class Config:
self._USE_EXCLUDE_WORDS = value
self.saveConfig(inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('USE_TRANSLATION_FEATURE')
def USE_TRANSLATION_FEATURE(self):
return self._USE_TRANSLATION_FEATURE
@USE_TRANSLATION_FEATURE.setter
def USE_TRANSLATION_FEATURE(self, value):
if isinstance(value, bool):
self._USE_TRANSLATION_FEATURE = value
self.saveConfig(inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('SELECTED_TRANSLATION_COMPUTE_DEVICE')
def SELECTED_TRANSLATION_COMPUTE_DEVICE(self):
@@ -1033,7 +1022,7 @@ class Config:
},
},
}
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
self._SELECTED_TRANSCRIPTION_ENGINE = "Whisper"
self._MULTI_LANGUAGE_TRANSLATION = False
self._CONVERT_MESSAGE_TO_ROMAJI = False
self._CONVERT_MESSAGE_TO_HIRAGANA = False
@@ -1080,7 +1069,6 @@ class Config:
"DeepL_API": None,
}
self._USE_EXCLUDE_WORDS = True
self._USE_TRANSLATION_FEATURE = True
self._SELECTED_TRANSLATION_COMPUTE_DEVICE = {"device": "cpu", "device_index": 0, "device_name":"cpu"}
self._SELECTED_TRANSCRIPTION_COMPUTE_DEVICE = {"device": "cpu", "device_index": 0, "device_name":"cpu"}
self._CTRANSLATE2_WEIGHT_TYPE = "Small"

View File

@@ -39,7 +39,7 @@ def calculate_file_hash(file_path, block_size=65536):
return hash_object.hexdigest()
def checkCTranslate2Weight(path, weight_type="Small"):
def checkCTranslate2Weight(root, weight_type="Small"):
weight_directory_name = ctranslate2_weights[weight_type]["directory_name"]
hash_data = ctranslate2_weights[weight_type]["hash"]
files = [
@@ -47,6 +47,7 @@ def checkCTranslate2Weight(path, weight_type="Small"):
"sentencepiece.model",
"shared_vocabulary.txt"
]
path = os_path.join(root, "weights", "ctranslate2")
# check already downloaded
already_downloaded = False
@@ -66,7 +67,7 @@ def downloadCTranslate2Weight(root, weight_type="Small", callback=None, end_call
path = os_path.join(root, "weights", "ctranslate2")
os_makedirs(path, exist_ok=True)
if checkCTranslate2Weight(path, weight_type) is False:
if checkCTranslate2Weight(root, weight_type) is False:
try:
with tempfile.TemporaryDirectory() as tmp_path:
res = requests_get(url, stream=True)

View File

@@ -547,21 +547,8 @@ class Controller:
@staticmethod
def setSelectedTranscriptionEngine(data, *args, **kwargs) -> dict:
engine = data["engine"]
weight_type = data["weight_type"]
if engine == "Whisper" and config.SELECTABLE_WHISPER_WEIGHT_TYPE_DICT[weight_type] is False:
config.SELECTED_TRANSCRIPTION_ENGINE = "Google"
config.WHISPER_WEIGHT_TYPE = None
else:
config.SELECTED_TRANSCRIPTION_ENGINE = engine
config.WHISPER_WEIGHT_TYPE = weight_type
return {
"status":200,
"result":{
"engine": config.SELECTED_TRANSCRIPTION_ENGINE,
"weight_type": config.WHISPER_WEIGHT_TYPE,
}
}
config.SELECTED_TRANSCRIPTION_ENGINE = str(data)
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
@staticmethod
def getMultiLanguageTranslation(*args, **kwargs) -> dict:
@@ -1124,26 +1111,6 @@ class Controller:
self.updateTranslationEngineAndEngineList()
return {"status":200, "result":config.AUTH_KEYS["DeepL_API"]}
@staticmethod
def getUseTranslationFeature(*args, **kwargs) -> dict:
return {"status":200, "result":config.USE_TRANSLATION_FEATURE}
@staticmethod
def setEnableUseTranslationFeature(*args, **kwargs) -> dict:
config.USE_TRANSLATION_FEATURE = True
if model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE):
def callback():
model.changeTranslatorCTranslate2Model()
th_callback = Thread(target=callback)
th_callback.daemon = True
th_callback.start()
return {"status":200, "result":config.USE_TRANSLATION_FEATURE}
@staticmethod
def setDisableUseTranslationFeature(*args, **kwargs) -> dict:
config.USE_TRANSLATION_FEATURE = False
return {"status":200, "result": config.USE_TRANSLATION_FEATURE}
@staticmethod
def getCtranslate2WeightType(*args, **kwargs) -> dict:
return {"status":200, "result":config.CTRANSLATE2_WEIGHT_TYPE}
@@ -1702,26 +1669,26 @@ class Controller:
auth_keys["DeepL_API"] = None
config.AUTH_KEYS = auth_keys
# download CTranslate2 Model Weight
printLog("Download CTranslate2 Model Weight")
if model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE) is False:
self.downloadCtranslate2Weight(config.CTRANSLATE2_WEIGHT_TYPE)
# set Translation Engine
printLog("Set Translation Engine")
self.updateDownloadedCTranslate2ModelWeight()
self.updateTranslationEngineAndEngineList()
# download CTranslate2 Model Weight
printLog("Download CTranslate2 Model Weight")
if config.USE_TRANSLATION_FEATURE is True and model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE) is False:
self.downloadCtranslate2Weight(config.CTRANSLATE2_WEIGHT_TYPE)
# download Whisper Model Weight
printLog("Download Whisper Model Weight")
if model.checkTranscriptionWhisperModelWeight(config.WHISPER_WEIGHT_TYPE) is False:
self.downloadWhisperWeight(config.WHISPER_WEIGHT_TYPE)
# set Transcription Engine
printLog("Set Transcription Engine")
self.updateDownloadedWhisperModelWeight()
self.updateTranscriptionEngine()
# download Whisper Model Weight
printLog("Download Whisper Model Weight")
if model.checkTranscriptionWhisperModelWeight(config.WHISPER_WEIGHT_TYPE) is False:
self.downloadWhisperWeight(config.WHISPER_WEIGHT_TYPE)
# set word filter
printLog("Set Word Filter")
model.addKeywords()

View File

@@ -21,7 +21,7 @@ run_mapping = {
"word_filter":"/run/word_filter",
"download_ctranslate2_weight":"/run/download_ctranslate2_weight",
"downloaded_ctranslate2_weight":"/run/download_ctranslate2_weight",
"downloaded_ctranslate2_weight":"/run/downloaded_ctranslate2_weight",
"download_whisper_weight":"/run/download_whisper_weight",
"downloaded_whisper_weight":"/run/downloaded_whisper_weight",
@@ -131,10 +131,6 @@ mapping = {
"/set/data/main_window_geometry": {"status": True, "variable":controller.setMainWindowGeometry},
# Translation
"/get/data/use_translation_feature": {"status": True, "variable":controller.getUseTranslationFeature},
"/set/enable/use_translation_feature": {"status": True, "variable":controller.setEnableUseTranslationFeature},
"/set/disable/use_translation_feature": {"status": True, "variable":controller.setDisableUseTranslationFeature},
"/get/data/translation_compute_device_list": {"status": True, "variable":controller.getComputeDeviceList},
"/get/data/selected_translation_compute_device": {"status": True, "variable":controller.getSelectedTranslationComputeDevice},
"/set/data/selected_translation_compute_device": {"status": True, "variable":controller.setSelectedTranslationComputeDevice},