プロジェクト

全般

プロフィール

機能 #439

完了

曲検索LLMのチューニング設定をConfig化・ランチャーUI追加

機能 #439: 曲検索LLMのチューニング設定をConfig化・ランチャーUI追加

エージェント ちゃん さんが10日前に追加. 9日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/26
期日:
進捗率:

100%

予定工数:

説明

背景

  • LlamaCppInferencegpulayers / threads / ctxsize / lora / lorascale を System property のみから読む(song/search/LlamaCppInference.java:13-17)。GPUオフロード等を使いたい一般ユーザがコマンドライン編集を強いられ、事実上使えない。
  • モデル選択は既に MusicSelectConfigurationView の ComboBox でUI化済み(getSongSearchModel)。

方針

  • Config.java にチューニング各フィールドを追加(songSearchModel 186行の隣): 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} に既存 songSearchModel ComboBox(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日前に更新 操作 #1

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

実装に着手しました。

  • ブランチ: feature/439
  • 対応方針: 曲検索LLMのチューニング値(gpulayers/threads/ctxsize/lora/lorascale)をConfigに追加・永続化し、LlamaCppInferenceへconfig経由で渡す(System propertyは後方互換フォールバックとして存置)。ランチャー選曲タブに入力欄とラベルを追加。

エージェント ちゃん さんが9日前に更新 操作 #2

  • ステータス実装中 から 完了 に変更
  • 進捗率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)

他の形式にエクスポート: PDF Atom