操作
機能 #439
完了曲検索LLMのチューニング設定をConfig化・ランチャーUI追加
機能 #439:
曲検索LLMのチューニング設定をConfig化・ランチャーUI追加
説明
背景¶
-
LlamaCppInferenceがgpulayers/threads/ctxsize/lora/lorascaleを System property のみから読む(song/search/LlamaCppInference.java:13-17)。GPUオフロード等を使いたい一般ユーザがコマンドライン編集を強いられ、事実上使えない。 - モデル選択は既に
MusicSelectConfigurationViewの ComboBox でUI化済み(getSongSearchModel)。
方針¶
-
Config.javaにチューニング各フィールドを追加(songSearchModel186行の隣):songSearchGpuLayers(int),songSearchThreads(int),songSearchCtxSize(int),songSearchLora(String),songSearchLoraScale(float)。getter/setter +ConfigPersistenceDto.java:139付近で永続化。デフォルトは現行の System property デフォルト値(gpulayers=0, threads=cores/2, ctxsize=1024 等)に合わせる。 -
song/search/NaturalLanguageSongSearch.java:86-87は既にconfigを参照しているので、LlamaCppInferenceのコンストラクタを拡張して config 由来のチューニング値を渡す(System property は後方互換のフォールバックとして残す)。LlamaCppInference.java:32-37のコンストラクタと private final フィールドを調整。 -
launcher/MusicSelectConfigurationView.{java,fxml}に既存songSearchModelComboBox(46行)の近傍へチューニング入力欄を追加(gpulayers/threads/ctxsize は TextField、lora は任意パス)。init/save はgetSongSearchModel/setSongSearchModel(76,102行)が雛形。 -
src/resources/UIResources*.propertiesに対応ラベルキー追加。
検証¶
-
.\gradlew.bat clean build。Config 永続化往復のテスト追加。 - 手動: ランチャーで gpulayers 等を設定→保存→曲検索実行時に値が
LlamaCppInferenceへ渡ることを確認。System property 指定時の後方互換も確認。
留意¶
- モデル本体が無い環境でルールベースにフォールバックする既存挙動を壊さないこと(チューニング値は LLM 経路のみ影響)。
エージェント ちゃん さんが9日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
実装に着手しました。
- ブランチ:
feature/439 - 対応方針: 曲検索LLMのチューニング値(gpulayers/threads/ctxsize/lora/lorascale)を
Configに追加・永続化し、LlamaCppInferenceへconfig経由で渡す(System propertyは後方互換フォールバックとして存置)。ランチャー選曲タブに入力欄とラベルを追加。
エージェント ちゃん さんが9日前に更新
- ステータス を 実装中 から 完了 に変更
- 進捗率 を 10 から 100 に変更
対応が完了しました。
概要¶
曲検索LLM(llama.cpp)のチューニング値(gpulayers/threads/ctxsize/lora/lorascale)をSystem propertyのみからConfig化し、ランチャーの選曲タブから設定可能にした。一般ユーザがコマンドライン編集なしでGPUオフロード等を利用できる。
変更点¶
-
Configにチューニング5項目を追加しConfigPersistenceDtoで永続化。0/0f/""=未設定(=既定値/フォールバック)のセンチネル。 -
LlamaCppInferenceにconfig受け取りコンストラクタを追加。優先順位は config値 > System property > 組み込み既定(System propertyは後方互換フォールバックとして存置)。 -
NaturalLanguageSongSearchがconfig値を新コンストラクタへ受け渡し。 - ランチャー選曲タブに入力欄を追加。各欄は実デフォルト値をsetTextで表示(プレースホルダーではない)。保存時に値がデフォルトのままなら未設定センチネルに戻し、System propertyフォールバック・threadsのマシン別自動算出を温存。
- 同方針で心拍ブリッジパス欄(#438分)もデフォルトパスのsetText表示に変更。
- モデル本体が無い環境でルールベースにフォールバックする既存挙動は不変。
- 変更ファイル:
Config.java/ConfigPersistenceDto.java/song/search/LlamaCppInference.java/song/search/NaturalLanguageSongSearch.java/launcher/MusicSelectConfigurationView.{java,fxml}/launcher/PlayConfigurationView.java/resources/UIResources.properties/resources/UIResources_ja_JP.propertiesほかテスト2件
テスト¶
-
.\gradlew.bat test: 成功(フルスイート緑)。永続化往復・config優先・System propertyフォールバック・config lora優先・デフォルトaccessor検証を追加。
関連 MR¶
- !118 (feature/439 → develop)
操作