PCの中にAI(ローカルLLM)をお迎えして、いろいろ触ってみました。
これ楽しい。でも現状の私のPCだと、動きはするけどスペックの不足を感じます。
新しいグラボと追加のメモリが欲しい今日この頃。 ⇒ RTX5060ti買った。
して、今回は私が設定したあれこれの備忘録です。
これ何の数値だっけと、調整時に増やすのか減らすのかとか忘れちゃうんですよ。
ということで、以下、私が参照したい設定あれこの備忘録になります。
完全に個人メモなので、他の人が読んで理解するには向いてないやも。
もし読んでみて、間違ってるところとかについては指摘してくれると超助かります。
・・という記事を2ヶ月前に書いて放置してたので今更公開。
【Ver情報】
LM Studio 0.3.36 ← 常用
LM Studio 0.4.7 ← 新しいの試す用
node-v24.12.0-x64
SillyTavern-1.15.0
KoboldCpp 1.105.3 ← 使わないから削除した
python-3.10.06
uvicorn 0.40.0
【LM Studioの設定】
ここは最大値を設定するところなのでPCの限界一歩手前を指定。
コンテキスト長:32768
GPUオフロード:適当にMAX設定。
CPUスレッドプールサイズ:6/6
評価バッチサイズ:512~2048 (生成速度に少し関係)
エキスパート数:4~12 (生成される質に関係、普段は8)
PoPE周波数は自動。Seed-1。
Force Model以下4つは全部ON或いは全部OFF。
ONにする際、KV キャッシュ量子化はどちらもQ8_0かF16を選択。
性能をある程度維持した上での省電力設定な感じ。
SillyTavernを使う場合のLM Studio側で意味のある設定はLoad設定がメイン。
Inferenceは設定適当でいいと思う。
【SillyTavernの設定】
並び順はSillyTavernの「AI応答の構成」の順。
ちなみに以下は、私の基準プリセットで、会話中にちょこちょこ調整してます。
・ロック解除されたコンテキストサイズ ON
基本的にはOFF推奨。OFFにしとくと、マリカの自動操縦状態。
ONにすると全手動。この状態で数値ミスるとフリーズしたりするらしい。
言い換えると、自動操縦させてると、多少変な設定でも動いちゃう。
この状態だと、何が原因で目的通りにいかないのかわからなくなる。
なので私はON(手動状態)にしてます。
・コンテキスト長:16384 (相手によって2048~16384)
「この応答を生成する瞬間に、AIが“同時に見渡せる情報の総量の上限」
プロンプトや定義や世界観に過去ログとか直前の入力、これら全ての総計上限。
基本的には多い方が質が上がる。
でも小さくすれば余計なものを読まないので、逆に質が上がったりもする。
昨日のご飯のことを考えながら計算問題するとミスり易いみたいな、そういう話。
・最大応答長 2048~4096
「コンテキストサイズ =(入力+過去ログ+設定)+ 最大応答長」
返答する文章で使う分の枠を、ここで先に予約する。
だからここが大きすぎると、過去ログとかプロンプトを読みに行けない。
長文書かせたい場合は、ここを上げて「この返答は、途中で切れないよう一つの流れとして、しっかり書いて」とか指示するか、或いは逆に、小さくして余計な判断させずに書かせるという真逆の方法も有り。(ただしこのやり方だと最後がぶつ切りになったりする)
・スワイプ1
同じ入力に対して、何パターン生成するかの値。
1 → 1つの返答。
2 → 裏で2案作って、良さそうなのを選んで出力。
基本的に1でいいと思う。複数生成させるなら自分でコード書いた方がいい。
以下、ちょこちょこ変更することもあるけど基本はこれ。
・温度(Temperature)0.8 低いと説明文、高いと感情的。
・頻度ペナルティ(frequency penalty) 0.15(~0.3) 数値上げると同じ言い回し回避。
・存在ペナルティ(Presence penalty) 0.05(~0.2) 増やすと同じ話題回避。
・Top-p 0.9 表現の幅、減らすとシンプルな文章に
・Top-k 指定無し 応答の際に考える言葉の数、減らすと定型文に、増やすと語彙増える
なのだけど、めっちゃ増やすと逆に固定されたりして難しい。
あんまり設定にこだわらず、プロンプト入れ替える方が無難。
記事の末尾にサンプル幾つか置いときます。
・クイックプロンプトの編集 私はメインだけ常時入れてる。他のはたまに。
クイックって書いてる通り、常時入れるものじゃなくて、随時書き入れて消すやつ。
以下英文が出てくる理由はトークン数節約のため。
・Main(メイン) よく使うやつ。
All internal reasoning, role definitions, and narrative logic are written in English for clarity and precision.
All outputs must be in natural, fluent Japanese, appropriate to the scene and character.
執筆用 Write the next passage of a fictional story featuring {{char}}.
考察用 Analyze the following conversation
現在は以下3つを使い分け。
Mode: Dialogue 会話
Mode: Narrative 執筆
Mode: Co-writing 共同執筆
The user’s messages represent authorial intent, not in-world dialogue.
Do not address the user directly.
場面を少しだけ進め、余韻を残して終えてください。
次の展開や{{user}}の行動を、自然な内容の3択で提示してください。
この場面では{{char}}の内面描写を優先してください。
簡潔にまとめ、途中で話を広げすぎないでください。
新しい設定や人物を追加せず、現在の状況のみを描写してください。
ただし、「キャラクターの反応」として「相手の言葉を引用」することは可能です。
また、キャラクターの心理状態や判断基準は常に「主語が『自分』」である形で表現されなければなりません。
特に、ユーザーの台詞に直接反応する際も、キャラクター自身の観察・感情・価値判断を基盤とした言動で返答します。
ちなみに読み込み順はこんな感じ。
[System / Main Prompt]
[Auxiliary Instructions]
[Character / Persona]
[Conversation History]
[Post-History Instructions]
[User Message]
ユーザーメッセージでも指示は出せるけど、ログに残る。
2回目以降は意味も変質していく。だからクイックに記述する感じ。
AIがuserの言葉喋ったり行動を記述する件について。
これを防ぐ方法は2つというか、2つを両方やらないとだめ。
1つは、プロンプトで縛る。上の方の「Mode: Dialogue」とかはその軽いやり方。
もう1つは[Conversation History]の読み込み数を減らすこと。
履歴が伸びて破綻するパターンはプロンプトだけでの対処は難しいです。
・キャラクター名の動作 グループチャットしないなら「なし」でOK。
なし(Never add character name prefixes) 1対1の会話やロールプレイ用。
デフォルト 複数キャラ会話をたまに使う場合。
Completion Object 出力を JSON的な構造物として扱う場合。上級者用。
メッセージ内容 「キャラクター名: 発言内容」この形式になる。
グループチャットってのは、専用のUIがあるとかじゃないです。
AIに複数キャラを演じさせる際、混乱回避のため名前のラベル付けするのがここの設定。
・ポストフィックスの継続(Postfix continuation) なし
・プリフィルの継続 ON
・システムメッセージを結合する ON
・関数呼び出しを有効にする OFF 今は使ってない。
・Send inline media OFF 画像とか扱う時にON。VLモデルで画像認識とか。
・Request model reasoning OFF ONにすると推論部分読めるモデルもある。
・Reasoning Effort Maximum 基本的に外のAPI用、Autoでいい。
・Verbosity(冗長度) Auto どれだけ沢山喋っていいか。あんまり効き目ない。
・Logit Bias(ログのバイアス) 言葉の禁止。「 〇〇」で言わなくなる。
【API接続】
カスタムエンドポイント (ベース URL)
http://10.12.43.26:1234/v1 LM Studio
http://127.0.0.1:8001/v1 uvicorn
https://openrouter.ai/api/v1 openrouter
【高度なフォーマット】
触ってない。
【ワールド/Lorebook】
uvicornでやってるので、ここは使ってない。
【ユーザー設定】
・高度なキャラクター検索 OFF
・キャラクターカードのプロンプトを優先 キャラを強く保持するかどうか 普段はON
・アバターを常にリサイズしない OFF
・Animated background thumbnails GIFとか再生する? ON
・アバターのファイル名を表示 ON
・スポイラーフリーモード キャラ説明や初期メッセージを隠すか OFF
【拡張機能】
画像生成、画像読み込み、疑似記憶なメモリ機能の設定等、いろいろ出来る。
・画像生成
生成前にプロンプトを編集する LLMが作った画像プロンプトを実行前に編集するか。
Use function tool OpenAI互換の function callingを使うか。そこまでしない、オフ。
インタラクティブモード AIがどんな絵にするか詳細に聞いてくる。好みで。
ポートレートにはマルチモーダル(ry) VLモデルで説明文生成してから描く機能。
Extend free mode prompts ~な感じで一枚よろ!みたいな指示用。好みで。
スナップ自動調整解像度 縦長・横長の指示に応じて解像度を自動変更。好みで。
・TTS
音声読み上げに関する機能。会話文をずんだもんに喋らせるとか出来る。
【ペルソナ管理】
自分のキャラとか自己紹介書くとこ。
【キャラクター設定】
【チャット入力バーの左の横棒三本のやつ】
著者の注意 system的なメモ。メインプロンプトに横やり入れたい時用。
CFGスケール 高いと設定に忠実、低いと自由。使うなら1.5~2.5くらいが良さげ。
トークン確率 「この単語が選ばれた確率」を見れる。ガチな人以外はスルー。
チェックポイントを保存 スナップショット保存。
グループに変換 複数キャラ会話用。
新しいチャットを開始 / メッセージを削除 / 再生成 / 続行 言葉通り。
チャットファイルを管理 インポートエクスポート出来る。
擬態する AIになりきり発言させるやつ。
【チャット入力バーの左のペンのマークのやつ】
オープンデータバンク 私はuvicornでやってるので要らないやつ。
ファイルを添付する テキストとかチャットに流せるらしい。コピペでいい。
画像を生成 あなたの扱い方を絵にして、みたいなのが出来る。アレと連携。
画像説明を生成 画像を読み込んで文章で説明するやつ。VL系のモデルでやれる。
Narrate All Chat 読み上げ音声化。
Token Counter トークン量の可視化が出来る。しなくていいと思う。
Translate Chat 既に存在している会話ログを、まとめて翻訳する。
Translate Input 自分が入力した文章を翻訳する。
ちょっとここで補足説明。
例えば英語のキャラカードを読み込んで、日本語で会話する場合。
Lorebookは文字列完全一致なので、日本語で話す限り発動しない。
なので、ブラウザの翻訳機能を使って画面を日本語表示にする。
その上で、自分の発言をTranslate Inputで英語にして送信。
すると、見た目上は日本語だけど、内部的には英語なので、Lorebookが機能する。
Translate Chatの方はログ全部英語になる。
これ逆に日本語にしたい場合は、拡張設定のChat Translationを変更。
Target LanguageをJapaneseにすれば全部日本語になる。
私は翻訳語の日本語でやり取りして、Lorebookは使わない方向でやってます。
そういうのは全部uvicorn側で制御。
【日本語で話してほしい時のやつ】
基本的には会話文の末尾に、「出力は日本語でね!」って書くだけで通る。
たまに頑固なモデルが居るので、そーゆーときに使うやつ。
「この相手との会話は日本語で行われます。
言葉遣いやニュアンスは、日本語話者として自然になるように調整してください。」
「あなたは常に日本語で応答してください。
ユーザーやキャラクター設定が英語で書かれていても、
出力はすべて自然な日本語にしてください。」
「このキャラクターは、設定や性格を維持したまま、すべての会話を日本語で行います。
口調・性格・感情表現も日本語として自然になるようにしてください。
直訳調ではなく、日本語として自然な表現を選んでください。」
【英語→日本語・翻訳用プロンプト】
You are a translation engine.
Translate the given English text into natural Japanese.
Rules:
– Output ONLY the translated Japanese text.
– Do NOT add explanations, notes, or comments.
– Preserve the original meaning and tone.
– Do NOT summarize or omit content.
Input:
{{text}}
【temperatureとかの設定】
今の私の設定がコレ、ちゃっぴー曰く安定性 70% ランダム性 30%
temperature: 0.8
top_p: 0.95
presence_penalty: 0.05
frequency_penalty: 0.15
以下、ちゃっぴーおすすめ設定らしい。使ったことないけど。
「人格AI」
temperature: 0.9
top_p: 0.9
presence_penalty: 0.1
frequency_penalty: 0.2
「感情AI」
temperature: 0.95
top_p: 0.9
presence_penalty: 0.15
frequency_penalty: 0.15
「人格安定型」性格がブレにくい
temperature: 0.75
top_p: 0.9
presence_penalty: 0.05
frequency_penalty: 0.1
「感情爆発型」感情の表現が多様
temperature: 1.05
top_p: 0.92
presence_penalty: 0.2
frequency_penalty: 0.1