From a862805a0559a5919c2dfb5dd9a6e36f73ae4942 Mon Sep 17 00:00:00 2001 From: misyaguziya <53165965+misyaguziya@users.noreply.github.com> Date: Thu, 16 Oct 2025 18:53:45 +0900 Subject: [PATCH] =?UTF-8?q?OpenAI=E9=96=A2=E9=80=A3=E3=81=AE=E3=83=A1?= =?UTF-8?q?=E3=82=BD=E3=83=83=E3=83=89=E5=90=8D=E3=82=92=E7=B5=B1=E4=B8=80?= =?UTF-8?q?=E3=81=97=E3=80=81=E8=AA=8D=E8=A8=BC=E5=BE=8C=E3=81=AE=E3=83=A2?= =?UTF-8?q?=E3=83=87=E3=83=AB=E6=9B=B4=E6=96=B0=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - メソッド名を OpenAi -> OpenAI に統一(get/set/del/get_model_list/get_model/set_model) - OpenAI 認証キー設定時にモデル一覧を取得して SELECTABLE_OPENAI_MODEL_LIST を更新、選択モデルが存在しなければ第一候補へフォールバックして OpenAI クライアントを再初期化する処理を追加 - model のメソッド名を setTranslatorOpenAiModel -> setTranslatorOpenAIModel に変更 - mainloop のエンドポイントマッピングを新しいメソッド名に合わせて更新 --- src-python/controller.py | 22 ++++++++++++++-------- src-python/mainloop.py | 12 ++++++------ src-python/model.py | 2 +- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src-python/controller.py b/src-python/controller.py index a6c099a9..e3b788a2 100644 --- a/src-python/controller.py +++ b/src-python/controller.py @@ -1794,10 +1794,10 @@ class Controller: return response @staticmethod - def getOpenAiAuthKey(*args, **kwargs) -> dict: + def getOpenAIAuthKey(*args, **kwargs) -> dict: return {"status":200, "result":config.AUTH_KEYS["OpenAI_API"]} - def setOpenAiAuthKey(self, data, *args, **kwargs) -> dict: + def setOpenAIAuthKey(self, data, *args, **kwargs) -> dict: printLog("Set OpenAI Auth Key", data) translator_name = "OpenAI_API" try: @@ -1808,6 +1808,12 @@ class Controller: auth_keys[translator_name] = key config.AUTH_KEYS = auth_keys config.SELECTABLE_TRANSLATION_ENGINE_STATUS[translator_name] = True + config.SELECTABLE_OPENAI_MODEL_LIST = model.getTranslatorOpenAIModelList() + # ここにrunが必要 + if config.OPENAI_MODEL not in config.SELECTABLE_OPENAI_MODEL_LIST: + config.OPENAI_MODEL = config.SELECTABLE_OPENAI_MODEL_LIST[0] + # ここにrunが必要 + model.updateTranslatorOpenAIClient() self.updateTranslationEngineAndEngineList() response = {"status":200, "result":config.AUTH_KEYS[translator_name]} else: @@ -1829,7 +1835,7 @@ class Controller: } return response - def delOpenAiAuthKey(self, *args, **kwargs) -> dict: + def delOpenAIAuthKey(self, *args, **kwargs) -> dict: translator_name = "OpenAI_API" auth_keys = config.AUTH_KEYS auth_keys[translator_name] = None @@ -1838,17 +1844,17 @@ class Controller: self.updateTranslationEngineAndEngineList() return {"status":200, "result":config.AUTH_KEYS[translator_name]} - def getOpenAiModelList(self, *args, **kwargs) -> dict: + def getOpenAIModelList(self, *args, **kwargs) -> dict: return {"status":200, "result": config.SELECTABLE_OPENAI_MODEL_LIST} - def getOpenAiModel(self, *args, **kwargs) -> dict: + def getOpenAIModel(self, *args, **kwargs) -> dict: return {"status":200, "result":config.OPENAI_MODEL} - def setOpenAiModel(self, data, *args, **kwargs) -> dict: + def setOpenAIModel(self, data, *args, **kwargs) -> dict: printLog("Set OpenAI Model", data) try: data = str(data) - result = model.setTranslatorOpenAiModel(model=data) + result = model.setTranslatorOpenAIModel(model=data) if result is True: config.OPENAI_MODEL = data response = {"status":200, "result":config.OPENAI_MODEL} @@ -2791,7 +2797,7 @@ class Controller: config.SELECTABLE_OPENAI_MODEL_LIST = model.getTranslatorOpenAIModelList() if config.OPENAI_MODEL not in config.SELECTABLE_OPENAI_MODEL_LIST: config.OPENAI_MODEL = config.SELECTABLE_OPENAI_MODEL_LIST[0] - model.setTranslatorOpenAiModel(config.OPENAI_MODEL) + model.setTranslatorOpenAIModel(config.OPENAI_MODEL) model.updateTranslatorOpenAIClient() else: # error update Auth key diff --git a/src-python/mainloop.py b/src-python/mainloop.py index d8550687..cfedaecd 100644 --- a/src-python/mainloop.py +++ b/src-python/mainloop.py @@ -188,12 +188,12 @@ mapping = { "/set/data/gemini_auth_key": {"status": True, "variable":controller.setGeminiAuthKey}, "/delete/data/gemini_auth_key": {"status": True, "variable":controller.delGeminiAuthKey}, - "/get/data/openai_model_list": {"status": True, "variable":controller.getOpenAiModelList}, - "/get/data/openai_model": {"status": True, "variable":controller.getOpenAiModel}, - "/set/data/openai_model": {"status": True, "variable":controller.setOpenAiModel}, - "/get/data/openai_auth_key": {"status": True, "variable":controller.getOpenAiAuthKey}, - "/set/data/openai_auth_key": {"status": True, "variable":controller.setOpenAiAuthKey}, - "/delete/data/openai_auth_key": {"status": True, "variable":controller.delOpenAiAuthKey}, + "/get/data/openai_model_list": {"status": True, "variable":controller.getOpenAIModelList}, + "/get/data/openai_model": {"status": True, "variable":controller.getOpenAIModel}, + "/set/data/openai_model": {"status": True, "variable":controller.setOpenAIModel}, + "/get/data/openai_auth_key": {"status": True, "variable":controller.getOpenAIAuthKey}, + "/set/data/openai_auth_key": {"status": True, "variable":controller.setOpenAIAuthKey}, + "/delete/data/openai_auth_key": {"status": True, "variable":controller.delOpenAIAuthKey}, "/get/data/convert_message_to_romaji": {"status": True, "variable":controller.getConvertMessageToRomaji}, "/set/enable/convert_message_to_romaji": {"status": True, "variable":controller.setEnableConvertMessageToRomaji}, diff --git a/src-python/model.py b/src-python/model.py index 926ccbb2..ba3fd1cf 100644 --- a/src-python/model.py +++ b/src-python/model.py @@ -240,7 +240,7 @@ class Model: self.ensure_initialized() return self.translator.getOpenAIModelList() - def setTranslatorOpenAiModel(self, model: str) -> bool: + def setTranslatorOpenAIModel(self, model: str) -> bool: self.ensure_initialized() result = self.translator.setOpenAIModel(model=model) return result