Gemma4を特定用途で使いやすくしたい。
- Category: 生成AI関係
Open WebUIを利用してGemma4に小説書かせて遊ぶのに「モデル」機能を利用していたんだが、システムプロンプトは固定できるが、セッションをまたいで続きを書かせるために、登場人物を列挙したり状況を付与したり、あらすじをまとめたり、直前のシーンをまるごとコピペしたりと、引継ぎプロンプトを書くのがとてもめんどくさい。
どうにかならんのかと思ってClaudeに相談したらこんなのできるよ、とさらっとHTML+JS+CSSでたたき台を作ってくれた。よくよく考えたら仕様を決めてClaude Codeに作ってもらえばええやん、ということで、たたき台のHTMLを今度はGeminiに共有したうえでやりたいことも含めて仕様を決めて指示書を作成し、Claude Codeに大幅改修してもらった。現在の状態になるまでの作業時間は仕様決めもふくめて5時間ほど。
上記が実際の画面。どういった文体・ジャンルのものを書くのかとかの基本の固定ルールをシステムプロンプトに書いて、登場人物の名前とかを書いて、どういう展開を書きたいのかを書いて生成ボタンを押すと右側の欄に文章が出力される。出力内容の編集機能も付いてる。というか生成したテキストボックス内に文章が出力される感じ。OpenAI互換になってて画面上部でLLM動かしてるAPIサーバーのURLを指定してモデルを選択できる。LLMのサンプラー設定も画面下部の設定アイコンから調整可能。
上記は新規で書く時の画面だけど、続きを各モードがタブで分かれていて、そっちに切り替えるとキャラクターごとの前回時点での状況の入力やあらすじの自動生成およびあらすじ欄への入力ボタン、直近の2シーンをプロンプトカラムにコピペできるボタンなどが追加される。
あと、各種プロンプトなどはJSON形式でインポートとエクスポートができるようになってる。せっかくGemma4がマルチモーダルなので、画像ファイルを渡してこれについて小説書いて、ってのもできる。
ひとまず機能的には完成でいいかな。なんか文字が小さく薄くて視認性が低いのでそこは改善したい。なんというかClaude Codeが海外風デザインを気どった結果な気がする。
続けて作っているのは同じくOpenAI互換のローカルLLMサーバーと連動して動くロールプレイシステム。
ト書き付きの小説形式っぽいモードと、キャラクターの台詞のみのチャットモードを選んでセッションを開始できる仕組み。上の画像は小説モード。何故か設定画面の最大出力トークン数が512になっていたので出力途中で力尽きてる。ほかにもエンターキーですぐに送信されてしまうから入力欄の中で改行や文字の変換ができなかったりするから、色々と修正が必要。
スマホに対応させてるから同じLAN内であれば、ベッドでゴロゴロしながらスマホでチャットとかもできる。各種設定とかチャット履歴などは個別にエクスポート可能。加えて全データ・設定の一括エクスポートとインポート機能も付けてまるごとバックアップおよび復旧できるようにした。UI部分に関しては試行錯誤中。Claudeに完全にお任せにしたら妙な紫のが出てきたんだよね。フォントサイズやUIカラーを変更して保存できるテーマの切り替え機能とかを付けたいかな。どのようにキャラクターイラストを表示させたらそれっぽくなるのかとかあるし。
Gemini Proに壁打ちして仕様決め、Claudeの使用量は全部Claude Codeに回すって感じで作業している。そうしないとClaude Proプランでは遊びレベルでも使用量が厳しい。
とまぁ、そんなことをやってるのでゲームしてる暇が全くない。FGOとアズレンのイベント消化なんかも時間ギリギリになりがちである。

