Silly Tavernをローカルに導入&起動!キャラとチャットするまで

image

LLMのhow to記事です 今回は主にロールプレイが楽しめる?ことで有名なSilly Tavernの使い方を紹介します。

私自身触りたてなので、この記事ではキャラとチャットするところまで解説します。

Silly Tavernとは?

「Silly Tavern」は、テキスト生成AIを活用したチャットおよびロールプレイが楽しめるツールです。

主にキャラクターとの対話やストーリーテリングを楽しむために設計されたもので、自身が作成したキャラと会話したり、誰かが作ったキャラを導入することができます。

他にもTTSで喋らせたり、画像生成したりもできるみたいです。

ただSilly Tavernはフロントエンドのツールなので、そういった機能を使用するには対応するバックエンドと接続する必要があります。

GitHub - SillyTavern/SillyTavern: LLM Frontend for Power Users.
LLM Frontend for Power Users. Contribute to SillyTavern/SillyTavern development by creating an account on GitHub.

事前準備

Silly Tavernを使用するには以下が必要です。

  • Node.js
  • CUDA
  • git
  • Silly Tavern本体
  • モデル
  • バックエンド(koboldcpp、text-generation-webuiなど)

バックエンドにtext-generation-webui使う場合はpythonも必要です。

本記事ではkoboldcppを使うのでpythonは省きます。

Node.js

公式サイトにアクセスして推奨版(LTS)のインストーラーをダウンロードします。

Node.js ??? Run JavaScript Everywhere
Node.js?? is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web...

インストーラーを実行して画面の指示に従って進めてください。

基本デフォルトで問題ありません。

CUDA

GPUで動かす場合、CUDAを入れると処理が最適化されます。

以下のリンクから画像のように選択してexeファイルをダウンロードしてください。

※win10の人はVersionは10を選んでください。

CUDA Toolkit 13.3 Update 1 Downloads
Get the latest feature updates to NVIDIA's proprietary compute stack.
image

exeを実行するとインストーラーが起動するので以下の順に実行してください。

  • 使用許諾契約書→同意して実行する
  • 高速にチェックを入れて次へ
  • I understand~にチェックを入れてNEXT

これでインストールは完了です。

git for windows

Git for Windowsは、オープンソースのバージョン管理システムであるGitをWindows環境で使用できるようにするためのツールです。

1.Gitのダウンロード Git for Windowsの公式サイトにアクセスし、「Download」ボタンをクリックしてインストーラをダウンロードします。

2.インストーラの実行 ダウンロードしたインストーラ(Git-–-setup.exe)をダブルクリックして実行してください。

3.インストールウィザードの設定 インストーラが起動したら手順に従ってインストールを進めます。

全てデフォルトのままNextで問題ありません。

4.インストールの完了 インストールが完了したら、「Finish」ボタンをクリックしてインストールウィザードを終了します。

Silly Tavern本体

win+Rでcmdと入力してコマンドプロンプト開きます。

インストールしたいパスに移動します。

この記事ではCドライブ使います。

cd C:\

Silly Tavernをクローンします。

git clone https://github.com/SillyTavern/SillyTavern.git

モデルのダウンロード

モデルはいろいろあるので、試してしっくりくるのが一番良いと思います。

こちらのwikiでおすすめモデルが紹介されているので、参考にしてみてください。

おすすめの日本語対応ローカル大規模言語モデル – 日本語ローカルLLM関連のメモWiki

LM studioとか使っている方はそちらで使っているモデルも選べます。

Mistral-Nemo-Japanese-Instruct-2408.Q4_0というモデルを使っていたので今回はこちらを使用します。

・LM studioのモデルパス

C:\Users\User.lmstudio\models\

なお、ユーザー名が日本語だとkoboldcppで読み込めません。

その場合はモデルをコピー・複製、別途ダウンロードするなどの対応が必要です。

あと会話できる範囲もモデルに依存するようです。

例えば下ネタガンガン話したいと思ってドスケベなキャラ作っても、モデルがNSFWに対応してなければそういう会話はできないようです。

koboldcpp

以下のリンクにある「koboldcpp.exe」をダウンロードします。

※CUDA12入れてる人は「koboldcpp_cu12.exe」の方がパフォーマンスがいいかも知れません。

Release koboldcpp-1.122.1 · LostRuins/koboldcpp
koboldcpp-1.122.1 kobold_agent.mp4 PSA: KoboldCpp needs YOUR help to fight a fake phishing site (click here for info)!NE...

これで準備はOKです。

Silly Tavernの起動&API接続

最初に書いた通りSilly Tavernはフロントエンドなので、以下の流れで起動するとスムーズです。

  • koboldcppを起動
  • Silly Tavernを起動
  • API接続

koboldcppを起動

最初に先ほどダウンロードしたkoboldcpp.exeを起動します。

起動するとこんな画面が開きます。

GGUF text modelのBrowseをクリックしてモデルを読み込んでください。

image

読み込んだらLaunchで起動します。

image

ブラウザでこんな画面が開けばOKです。

image

Silly Tavernを起動

次にSilly Tavernを起動します。

フォルダ内にあるStart.batを実行してください。

C:\SillyTavern\Start.bat

ブラウザでこんな画面が表示されます。

ペルソナ名は自分の名前ですが書いてある通りいつでも変更できます。

任意の名前を入力して保存をクリックしてください。

image

API接続

Silly Tavernの上部メニューからコンセントのアイコンを開きます。

image

まずAPIのプルダウンからテキスト補完を選択します。

image

APIタイプをkoboldcppにします。

image

API URLにkoboldcppを開いているタブのURLを入力します。

私は「http://localhost:5001/」でした。

これで接続をクリックするとkoboldcppで読み込んでいるモデルをSilly Tavern上で使えるようになります。

image

キャラクターとチャットする

右上のキャラクター管理をクリックするとデフォルトでSeraphinaという女性キャラがいます。

image

選択するとSeraphinaとチャットが可能です。

helloと入力するとこんな感じで返してくれました。

※分かりにくいのでchromeで日本語訳してます

image

このようにキャラクターと会話したり、ロールプレイを楽しめます。

キャラクターは自分で作ったり、第三者が配布しているものをネットからDLして使ったりもできます。

キャラクターを作る

上記のようなキャラクターは自分で作ることも可能です。

かなりこだわったりできるようですが、まだあんまり分かってないので操作方法だけ紹介します。

キャラクター管理→新しいキャラクターを作成をクリックします。

※特定のキャラを開いている場合は、三本ラインのメニューアイコンで戻せます。

image

そうすると最初にキャラクター名、キャラクターの説明、最初のメッセージを設定できます。

高度な定義をクリックするとより詳細にキャラクターの設定画できます。

image

それぞれの項目がどんな影響を与えるかChatGPTに説明してもらいました。

  • キャラクター名
    • チャット内でキャラクターの呼称として使用される。
    • AIがキャラクターを識別するための基本情報。
  • キャラクターの説明
    • キャラクターの見た目や性格、背景などを記述。
    • AIがキャラの振る舞いや会話のスタイルを決める参考にする。
  • 最初のメッセージ
    • チャット開始時にキャラが最初に発するセリフ。
    • 会話の雰囲気やキャラの関係性を確立する役割。
  • 人格の要約
    • キャラクターの性格や行動の指針を簡潔に記述。
    • AIの応答に影響し、キャラの一貫性を保つ。
  • シナリオ
    • キャラクターとの関係性や状況を設定。
    • 会話の背景やトーンを決め、適切な返答を誘導。
  • キャラクターノート
    • 設定の補足情報(詳細な背景、口癖、好みなど)を記述。
    • チャット時のキャラの反応をより詳細に調整できる。
  • 対話の例
    • キャラの話し方や口調のサンプルを提供。
    • AIがキャラの言い回しや会話の流れを学習しやすくなる。

記事解説用のキャラ設定もChatGPTに考えてもらいました。

以下の内容に沿ってSillyTavernで使用できるキャラクターの設定を考えてください。

キャラクター名
キャラクターの説明
最初のメッセージ
人格の要約
シナリオ
キャラクターノート
対話の例

こんな出力になりました。

・キャラクター名
アメリア・ノクターン

・キャラクターの説明
名前: アメリア・ノクターン (Amelia Nocturne)
性別: 女性
年齢: 不明(見た目は20代前半)
種族: 吸血鬼
職業: 探偵
身長: 170cm
外見: 長い銀髪に深紅の瞳。黒のロングコートを着ており、手袋を常に身につけている。青白い肌とクールな雰囲気が特徴。
口調: 知的で落ち着いた話し方だが、時折皮肉を交える。
能力: 超人的な聴覚と嗅覚を持ち、微細な証拠を見逃さない。血を吸うことで記憶を垣間見ることができるが、自らの意思で抑制している。

・最初のメッセージ
「……さて、あなたが私の依頼人か。それとも、単なる好奇心でここに?
 どちらにせよ、私はアメリア・ノクターン。探偵業を生業としているが、一般的な手法だけではない。
 この街の闇を暴くのが私の仕事……さて、あなたの望みは?」
・人格の要約
アメリア・ノクターンは冷静沈着で論理的な探偵だが、決して冷酷ではなく、真実を求める心には情熱を秘めている。彼女は吸血鬼としての本能を抑え、理性を優先して生きているため、血を求める衝動との葛藤も抱えている。会話では鋭い洞察力を見せつつ、時折皮肉やユーモアを交える。感情を表に出すことは少ないが、長く付き合えば信頼を見せることもある。

・シナリオ
舞台は19世紀末の架空の都市「ノクターン・シティ」。霧の立ち込める石畳の街に、吸血鬼や人狼が密かに生きる闇の社会が広がっている。
プレイヤーは、ある事件を解決するためにアメリアに接触した。彼女はその事件が単なる殺人ではなく、超常的な存在が絡んでいると推測する。プレイヤーと協力して、謎を解き明かしていくことになる。
また、プレイヤーの選択次第で、アメリアが本能に抗うのか、それとも血の誘惑に屈するのかも変化する。

・キャラクターノート
アメリアは理性的だが、時折本能的な「血への渇望」と葛藤している。
事件を解決することに強い執着を持っており、依頼を途中で投げ出すことはない。
普段は冷静だが、嘘をつかれることを極端に嫌う。
人間に興味を持っており、彼らの生き方を尊重している。
特定の血の匂いに弱く、プレイヤーの血が特別なものである可能性もある。
探偵事務所には数匹の黒猫がいて、彼女は彼らを「助手」と呼んでいる。

・対話の例
プレイヤーが彼女に事件の依頼をする
プレイヤー: 「この事件を解決してほしい。犯人が誰なのかわからないんだ。」
アメリア: 「なるほど……では、詳しく聞かせてもらおう。犯行現場の状況は? 証拠品は? 目撃者の証言は?」
アメリアの吸血鬼としての側面に触れる
プレイヤー: 「君は血を吸うのか?」
アメリア: 「……昔はな。今はできるだけ避けている。血に頼らなくても解決できることは多いからな。」
プレイヤーが嘘をつく
プレイヤー: 「何も知らないよ。」
アメリア: 「ふぅん……そうか。では、その震える指先は何を語っているんだろうな?」
プレイヤーが事件の真相に近づく
プレイヤー: 「これが証拠だ!」
アメリア: 「……なるほど、一本取られたな。君の観察眼、なかなか鋭いじゃないか。」

なお、対話の例がプレイヤー・アメリアになっていますが、このように自分の名前やキャラを指定する場合は変数が使えます。

ユーザー名:{{user}} キャラクター名:{{char}}

これをSillyTavernに入力するとこんな感じです。

image

入力後、一番右側にあるアイコンをクリックすると設定が保存されます。

image

あとはこのキャラを選択すれば会話が可能です。

一応口調とか雰囲気は設定通り出力できていると思います。

image

キャラクターを取り込む方法

作ったキャラクターはPNG画像やjson形式で保存ができ、これらはキャラクターカードと呼ばれます。

以下のようなサイトで配布されており、ダウンロードが可能です。

※ファンサイトにリンクされてたサイト https://aicharactercards.com/

例えば上記のサイトだとカテゴリなどを選んで絞り込みが可能です。

image

キャラページに行くとDownload CARDがあるので、クリックすると保存できます。

image

SillyTavern上でファイルからキャラクターをインポートをクリックして、ダウンロードした画像、またはjsonを取り込みます。

image

そうするとこのキャラが追加されて会話が可能です。

image

キャラデータは以下のパスで保存されるので、ここに直接入れても取り込み可能。

C:\SillyTavern\data\default-user\characters

ただ私が探せてないだけかもしれませんが、日本語のコミュニティやサイトは見当たりませんでした。

日本語キャラのコミュニティサイトとかあったらもっと楽しめるし盛り上がるような気がしました。

もし知っている方いたらぜひ教えてください!

以上Silly Tavernでキャラと会話するまでの方法を紹介しました。

タイトルとURLをコピーしました