LMStudio と Ollama の翻訳バックエンドを追加・統合。
- config: SELECTABLE_/SELECTED_ の LMStudio/Ollama 項目と LMSTUDIO_URL を追加。 - Controller: LMStudio/Ollama の認証チェック、URL取得/設定、モデル一覧取得/設定のエンドポイントを実装。 - Model/Translator: LMStudio/Ollama 用の認証・モデル一覧・モデル設定・クライアント更新メソッドを追加し、翻訳処理の選択肢に対応。 - translation_* クライアント: 各クライアントでのプロンプト読み込み処理を共通化し、translation_utils.loadPromptConfig を利用するようにリファクタ。 - translation_languages: LMStudio/Ollama 用の言語マッピングを追加。
This commit is contained in:
@@ -338,6 +338,24 @@ class Config:
|
||||
if isinstance(value, list):
|
||||
self._SELECTABLE_OPENAI_MODEL_LIST = value
|
||||
|
||||
@property
|
||||
def SELECTABLE_LMSTUDIO_MODEL_LIST(self):
|
||||
return self._SELECTABLE_LMSTUDIO_MODEL_LIST
|
||||
|
||||
@SELECTABLE_LMSTUDIO_MODEL_LIST.setter
|
||||
def SELECTABLE_LMSTUDIO_MODEL_LIST(self, value):
|
||||
if isinstance(value, list):
|
||||
self._SELECTABLE_LMSTUDIO_MODEL_LIST = value
|
||||
|
||||
@property
|
||||
def SELECTABLE_OLLAMA_MODEL_LIST(self):
|
||||
return self._SELECTABLE_OLLAMA_MODEL_LIST
|
||||
|
||||
@SELECTABLE_OLLAMA_MODEL_LIST.setter
|
||||
def SELECTABLE_OLLAMA_MODEL_LIST(self, value):
|
||||
if isinstance(value, list):
|
||||
self._SELECTABLE_OLLAMA_MODEL_LIST = value
|
||||
|
||||
# Save Json Data
|
||||
## Main Window
|
||||
@property
|
||||
@@ -957,6 +975,41 @@ class Config:
|
||||
self._SELECTED_OPENAI_MODEL = value
|
||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('LMSTUDIO_URL')
|
||||
def LMSTUDIO_URL(self):
|
||||
return self._LMSTUDIO_URL
|
||||
|
||||
@LMSTUDIO_URL.setter
|
||||
def LMSTUDIO_URL(self, value):
|
||||
if isinstance(value, str):
|
||||
self._LMSTUDIO_URL = value
|
||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('SELECTED_LMSTUDIO_MODEL')
|
||||
def SELECTED_LMSTUDIO_MODEL(self):
|
||||
return self._SELECTED_LMSTUDIO_MODEL
|
||||
|
||||
@SELECTED_LMSTUDIO_MODEL.setter
|
||||
def SELECTED_LMSTUDIO_MODEL(self, value):
|
||||
if isinstance(value, str):
|
||||
if value in self.SELECTABLE_LMSTUDIO_MODEL_LIST:
|
||||
self._SELECTED_LMSTUDIO_MODEL = value
|
||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('SELECTED_OLLAMA_MODEL')
|
||||
def SELECTED_OLLAMA_MODEL(self):
|
||||
return self._SELECTED_OLLAMA_MODEL
|
||||
|
||||
@SELECTED_OLLAMA_MODEL.setter
|
||||
def SELECTED_OLLAMA_MODEL(self, value):
|
||||
if isinstance(value, str):
|
||||
if value in self.SELECTABLE_OLLAMA_MODEL_LIST:
|
||||
self._SELECTED_OLLAMA_MODEL = value
|
||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('AUTO_CLEAR_MESSAGE_BOX')
|
||||
def AUTO_CLEAR_MESSAGE_BOX(self):
|
||||
@@ -1234,6 +1287,8 @@ class Config:
|
||||
self._SELECTABLE_PLAMO_MODEL_LIST = []
|
||||
self._SELECTABLE_GEMINI_MODEL_LIST = []
|
||||
self._SELECTABLE_OPENAI_MODEL_LIST = []
|
||||
self._SELECTABLE_LMSTUDIO_MODEL_LIST = []
|
||||
self._SELECTABLE_OLLAMA_MODEL_LIST = []
|
||||
|
||||
# Save Json Data
|
||||
## Main Window
|
||||
@@ -1344,6 +1399,9 @@ class Config:
|
||||
self._SELECTED_PLAMO_MODEL = None
|
||||
self._SELECTED_GEMINI_MODEL = None
|
||||
self._SELECTED_OPENAI_MODEL = None
|
||||
self._LMSTUDIO_URL = "http://127.0.0.1:1234"
|
||||
self._SELECTED_LMSTUDIO_MODEL = None
|
||||
self._SELECTED_OLLAMA_MODEL = None
|
||||
self._SELECTED_TRANSLATION_COMPUTE_TYPE = "auto"
|
||||
self._WHISPER_WEIGHT_TYPE = "base"
|
||||
self._SELECTED_TRANSCRIPTION_COMPUTE_TYPE = "auto"
|
||||
|
||||
Reference in New Issue
Block a user