👍️[Update] Model : use_translation_featureを削除/それに伴い一部機能を修正
This commit is contained in:
@@ -676,17 +676,6 @@ class Config:
|
|||||||
self._USE_EXCLUDE_WORDS = value
|
self._USE_EXCLUDE_WORDS = value
|
||||||
self.saveConfig(inspect.currentframe().f_code.co_name, 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
|
@property
|
||||||
@json_serializable('SELECTED_TRANSLATION_COMPUTE_DEVICE')
|
@json_serializable('SELECTED_TRANSLATION_COMPUTE_DEVICE')
|
||||||
def SELECTED_TRANSLATION_COMPUTE_DEVICE(self):
|
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._MULTI_LANGUAGE_TRANSLATION = False
|
||||||
self._CONVERT_MESSAGE_TO_ROMAJI = False
|
self._CONVERT_MESSAGE_TO_ROMAJI = False
|
||||||
self._CONVERT_MESSAGE_TO_HIRAGANA = False
|
self._CONVERT_MESSAGE_TO_HIRAGANA = False
|
||||||
@@ -1080,7 +1069,6 @@ class Config:
|
|||||||
"DeepL_API": None,
|
"DeepL_API": None,
|
||||||
}
|
}
|
||||||
self._USE_EXCLUDE_WORDS = True
|
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_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._SELECTED_TRANSCRIPTION_COMPUTE_DEVICE = {"device": "cpu", "device_index": 0, "device_name":"cpu"}
|
||||||
self._CTRANSLATE2_WEIGHT_TYPE = "Small"
|
self._CTRANSLATE2_WEIGHT_TYPE = "Small"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ def calculate_file_hash(file_path, block_size=65536):
|
|||||||
|
|
||||||
return hash_object.hexdigest()
|
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"]
|
weight_directory_name = ctranslate2_weights[weight_type]["directory_name"]
|
||||||
hash_data = ctranslate2_weights[weight_type]["hash"]
|
hash_data = ctranslate2_weights[weight_type]["hash"]
|
||||||
files = [
|
files = [
|
||||||
@@ -47,6 +47,7 @@ def checkCTranslate2Weight(path, weight_type="Small"):
|
|||||||
"sentencepiece.model",
|
"sentencepiece.model",
|
||||||
"shared_vocabulary.txt"
|
"shared_vocabulary.txt"
|
||||||
]
|
]
|
||||||
|
path = os_path.join(root, "weights", "ctranslate2")
|
||||||
|
|
||||||
# check already downloaded
|
# check already downloaded
|
||||||
already_downloaded = False
|
already_downloaded = False
|
||||||
@@ -66,7 +67,7 @@ def downloadCTranslate2Weight(root, weight_type="Small", callback=None, end_call
|
|||||||
path = os_path.join(root, "weights", "ctranslate2")
|
path = os_path.join(root, "weights", "ctranslate2")
|
||||||
os_makedirs(path, exist_ok=True)
|
os_makedirs(path, exist_ok=True)
|
||||||
|
|
||||||
if checkCTranslate2Weight(path, weight_type) is False:
|
if checkCTranslate2Weight(root, weight_type) is False:
|
||||||
try:
|
try:
|
||||||
with tempfile.TemporaryDirectory() as tmp_path:
|
with tempfile.TemporaryDirectory() as tmp_path:
|
||||||
res = requests_get(url, stream=True)
|
res = requests_get(url, stream=True)
|
||||||
|
|||||||
@@ -547,21 +547,8 @@ class Controller:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setSelectedTranscriptionEngine(data, *args, **kwargs) -> dict:
|
def setSelectedTranscriptionEngine(data, *args, **kwargs) -> dict:
|
||||||
engine = data["engine"]
|
config.SELECTED_TRANSCRIPTION_ENGINE = str(data)
|
||||||
weight_type = data["weight_type"]
|
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
|
||||||
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,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getMultiLanguageTranslation(*args, **kwargs) -> dict:
|
def getMultiLanguageTranslation(*args, **kwargs) -> dict:
|
||||||
@@ -1124,26 +1111,6 @@ class Controller:
|
|||||||
self.updateTranslationEngineAndEngineList()
|
self.updateTranslationEngineAndEngineList()
|
||||||
return {"status":200, "result":config.AUTH_KEYS["DeepL_API"]}
|
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
|
@staticmethod
|
||||||
def getCtranslate2WeightType(*args, **kwargs) -> dict:
|
def getCtranslate2WeightType(*args, **kwargs) -> dict:
|
||||||
return {"status":200, "result":config.CTRANSLATE2_WEIGHT_TYPE}
|
return {"status":200, "result":config.CTRANSLATE2_WEIGHT_TYPE}
|
||||||
@@ -1702,26 +1669,26 @@ class Controller:
|
|||||||
auth_keys["DeepL_API"] = None
|
auth_keys["DeepL_API"] = None
|
||||||
config.AUTH_KEYS = auth_keys
|
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
|
# set Translation Engine
|
||||||
printLog("Set Translation Engine")
|
printLog("Set Translation Engine")
|
||||||
self.updateDownloadedCTranslate2ModelWeight()
|
self.updateDownloadedCTranslate2ModelWeight()
|
||||||
self.updateTranslationEngineAndEngineList()
|
self.updateTranslationEngineAndEngineList()
|
||||||
|
|
||||||
# download CTranslate2 Model Weight
|
# download Whisper Model Weight
|
||||||
printLog("Download CTranslate2 Model Weight")
|
printLog("Download Whisper Model Weight")
|
||||||
if config.USE_TRANSLATION_FEATURE is True and model.checkTranslatorCTranslate2ModelWeight(config.CTRANSLATE2_WEIGHT_TYPE) is False:
|
if model.checkTranscriptionWhisperModelWeight(config.WHISPER_WEIGHT_TYPE) is False:
|
||||||
self.downloadCtranslate2Weight(config.CTRANSLATE2_WEIGHT_TYPE)
|
self.downloadWhisperWeight(config.WHISPER_WEIGHT_TYPE)
|
||||||
|
|
||||||
# set Transcription Engine
|
# set Transcription Engine
|
||||||
printLog("Set Transcription Engine")
|
printLog("Set Transcription Engine")
|
||||||
self.updateDownloadedWhisperModelWeight()
|
self.updateDownloadedWhisperModelWeight()
|
||||||
self.updateTranscriptionEngine()
|
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
|
# set word filter
|
||||||
printLog("Set Word Filter")
|
printLog("Set Word Filter")
|
||||||
model.addKeywords()
|
model.addKeywords()
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ run_mapping = {
|
|||||||
"word_filter":"/run/word_filter",
|
"word_filter":"/run/word_filter",
|
||||||
|
|
||||||
"download_ctranslate2_weight":"/run/download_ctranslate2_weight",
|
"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",
|
"download_whisper_weight":"/run/download_whisper_weight",
|
||||||
"downloaded_whisper_weight":"/run/downloaded_whisper_weight",
|
"downloaded_whisper_weight":"/run/downloaded_whisper_weight",
|
||||||
|
|
||||||
@@ -131,10 +131,6 @@ mapping = {
|
|||||||
"/set/data/main_window_geometry": {"status": True, "variable":controller.setMainWindowGeometry},
|
"/set/data/main_window_geometry": {"status": True, "variable":controller.setMainWindowGeometry},
|
||||||
|
|
||||||
# Translation
|
# 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/translation_compute_device_list": {"status": True, "variable":controller.getComputeDeviceList},
|
||||||
"/get/data/selected_translation_compute_device": {"status": True, "variable":controller.getSelectedTranslationComputeDevice},
|
"/get/data/selected_translation_compute_device": {"status": True, "variable":controller.getSelectedTranslationComputeDevice},
|
||||||
"/set/data/selected_translation_compute_device": {"status": True, "variable":controller.setSelectedTranslationComputeDevice},
|
"/set/data/selected_translation_compute_device": {"status": True, "variable":controller.setSelectedTranslationComputeDevice},
|
||||||
|
|||||||
Reference in New Issue
Block a user