[Fix] Error Handling: Update setter methods to allow None values for type checks and enhance sensitive data handling in authentication failures.

This commit is contained in:
misyaguziya
2025-12-30 06:44:15 +09:00
parent 6014c2d362
commit 588b95eebe
5 changed files with 53 additions and 10 deletions

View File

@@ -4,6 +4,14 @@
LMStudio 互換 OpenAI API を利用したローカル LLM 翻訳クライアントラッパー。モデル一覧取得・モデル選択・翻訳処理を統一インターフェースで提供する。
## 最近の更新 (2025-12-30)
- 接続失敗時のエラーハンドリング改善
- URL への疎通確認失敗時にモデルリストをクリア (`SELECTABLE_LMSTUDIO_MODEL_LIST = []`)
- 選択モデルをクリア (`SELECTED_LMSTUDIO_MODEL = None`)
- `SELECTABLE_TRANSLATION_ENGINE_STATUS["LMStudio"]` を False に設定
- フロントエンドに通知して UI を同期
## 最近の更新 (2025-10-20)
- 新規追加: ローカル LLM (LMStudio) を翻訳エンジン群へ統合
@@ -73,6 +81,10 @@ if models:
- `api_key` は固定文字列 "lmstudio" (LMStudio 側で不要のため) を利用
- モデル一覧取得はエンドポイントの互換性に依存 (古いバージョン非対応の可能性)
- `updateClient()` 呼び出し前は `translate()` を利用できない
- **接続失敗時の自動処理:**
- URL への疎通確認(接続テスト)が失敗すると、自動的にモデルリストと選択モデルがクリアされる
- `SELECTABLE_TRANSLATION_ENGINE_STATUS["LMStudio"]` が False に設定され、エンジンが使用不可状態になる
- Controller が自動的にフロントエンドに状態変化を通知
## 制限事項

View File

@@ -4,6 +4,14 @@
Ollama サーバー上で稼働するローカル LLM を翻訳エンジンとして扱うためのクライアントラッパー。モデル一覧取得・モデル選択・翻訳実行を統一パターンで提供する。
## 最近の更新 (2025-12-30)
- 接続失敗時のエラーハンドリング改善
- `/api/ping` への疎通確認失敗時にモデルリストをクリア (`SELECTABLE_OLLAMA_MODEL_LIST = []`)
- 選択モデルをクリア (`SELECTED_OLLAMA_MODEL = None`)
- `SELECTABLE_TRANSLATION_ENGINE_STATUS["Ollama"]` を False に設定
- フロントエンドに通知して UI を同期
## 最近の更新 (2025-10-20)
- 新規追加: Ollama を翻訳エンジン群へ統合
@@ -73,6 +81,10 @@ if client.authenticationCheck():
- サーバー既定 URL: `http://localhost:11434`
- モデル一覧取得は起動しているローカルサーバー状態に依存
- `updateClient()` 呼び出し前は `translate()` を利用不可
- **接続失敗時の自動処理:**
- `/api/ping` への疎通確認が失敗すると、自動的にモデルリストと選択モデルがクリアされる
- `SELECTABLE_TRANSLATION_ENGINE_STATUS["Ollama"]` が False に設定され、エンジンが使用不可状態になる
- Controller が自動的にフロントエンドに状態変化を通知
## 制限事項

View File

@@ -4,12 +4,15 @@
OpenRouter API を用いた統合 LLM 翻訳クライアントラッパー。OpenAI 互換エンドポイント (`https://openrouter.ai/api/v1`) を利用し、複数の LLM プロバイダーへの統一アクセスを提供する。
## 最近の更新 (2025-12-10)
## 最近の更新 (2025-12-29)
- OpenRouter API サポートを新規追加
- 単一 API キーで複数 LLM プロバイダーへアクセス可能
- 除外キーワード (`whisper`, `embedding`, `image`, `tts`, `audio`, `search`, `transcribe`, `diarize`, `vision`) によるテキスト処理モデルのフィルタリング
- YAML (`prompt/translation_openrouter.yml`) からシステムプロンプトをロード
- OpenRouter API 認証チェック方法を変更
- **以前:** `client.models.list()` を呼び出して認証確認
- **現在:** `https://openrouter.ai/api/v1/auth/key` エンドポイントに GET リクエスト送信して確認
- **理由:** より信頼性の高い専用認証エンドポイントを使用し、高速かつ確実に API キー有効性を検証
- 認証失敗時の sensitive data 処理
- API キー検証失敗時はレスポンス `data` フィールドに `None` を設定API キーを露出させない)
- エラーメッセージのみを返却し、具体的なキー情報は隠蔽
### 影響
@@ -22,6 +25,8 @@ OpenRouter API を用いた統合 LLM 翻訳クライアントラッパー。Ope
## 責務
- OpenRouter API Key (20文字以上) を用いた認証確認
- `https://openrouter.ai/api/v1/auth/key` エンドポイントへの HTTP GET リクエストで検証タイムアウト10秒
- ステータスコード 200 で有効と判定
- 利用可能モデルのフィルタリングとソート
- 選択モデルの検証と内部保持
- LangChain `ChatOpenAI` インスタンス生成base_url に OpenRouter エンドポイント指定)