このページは編集途中です
このWikiは主に日本語対応ローカルLLM(大規模言語モデル)関連のメモ的なWikiです。
SillyTavernの使い方などを解説します。
ページの内容が古かったり誤った情報が載っているかもなので気をつけて下さい。
SillyTavernのGitHub
SillyTavern公式Wiki
言語モデルを使用してテキストを生成するときのサンプリングプロセスを制御します。
これらの設定は、サポートされているすべてのバックエンドに共通です。
※Text generation web UIのParameters → Generationのように言語モデルのパラメーターの(プリセットへ)設定、変更などが行えます。
このWikiは主に日本語対応ローカルLLM(大規模言語モデル)関連のメモ的なWikiです。
SillyTavernの使い方などを解説します。
ページの内容が古かったり誤った情報が載っているかもなので気をつけて下さい。
SillyTavernのGitHub
SillyTavern公式Wiki
SillyTavernはLLM(大規模言語モデル)のフロントエンド(WebUI)です。SillyTavern単体では言語モデルをロードするバックエンド機能などを持たず、バックエンドとしてoobabooga/text-generation-webuiやkoboldcppなどを必要とします。
SillyTavern自体はバックエンドとするソフトウェアと同じサーバー内で稼働させる必要はなく、ネットワーク上にある別のコンピューターでも動作可能です。
※このWikiでは扱わないがローカルLLMではなく有料のクラウドLLMと接続することもできる
text-generation-webuiやkoboldcppはそれぞれ自前のフロントエンドを持っていますがSillyTavernはロールプレイ/チャット機能に特化しているのが特徴で、ユーザーと(二人以上の)AIエージェント(BOT)とのグループチャット機能なんかもあります。
このページではバックエンドとしてoobabooga/text-generation-webuiを使います。
Text generation web UIページを参考にAPIを有効化しておく必要があります。
SillyTavern自体はバックエンドとするソフトウェアと同じサーバー内で稼働させる必要はなく、ネットワーク上にある別のコンピューターでも動作可能です。
※このWikiでは扱わないがローカルLLMではなく有料のクラウドLLMと接続することもできる
text-generation-webuiやkoboldcppはそれぞれ自前のフロントエンドを持っていますがSillyTavernはロールプレイ/チャット機能に特化しているのが特徴で、ユーザーと(二人以上の)AIエージェント(BOT)とのグループチャット機能なんかもあります。
このページではバックエンドとしてoobabooga/text-generation-webuiを使います。
Text generation web UIページを参考にAPIを有効化しておく必要があります。
※Windowsが制御するフォルダー (Program Files、System32など) にはインストールしないでください。
※NODEJS 18.16 を実行できないため、Windows 7 へのインストールは不可能です。
※管理者権限でSTART.BATを実行しないでください
※NODEJS 18.16 を実行できないため、Windows 7 へのインストールは不可能です。
※管理者権限でSTART.BATを実行しないでください
- NodeJS(最新のLTS Ver)をインストールします。
- Windows用Gitをインストールします。
- Windowsエクスプローラー(Win+E)を開き、ランチャーをインストールするフォルダーを作成または選択します。
- 上部の”アドレスバー”をクリックして"cmd"と入力してEnter キーを押し、そのフォルダー内でコマンド プロンプトを開きます。
- コマンドプロンプトに次のコマンドを入力してgitからcloneします。
git clone https://github.com/SillyTavern/SillyTavern -b release
- cloneが完了したらコマンドプロンプトを閉じて、SillyTavernフォルダ内のStart.batをダブルクリックして実行します。
GitHubからcloneしてDockerを立ち上げます。
事前に下記のソフトウェアがインストール済みである必要があります。
LAN内の別PCからアクセスできるように./config/にwhitelist.txtという名前のテキストファイルを作成して192.168.0.*と記載して保存します。(ネットワーク環境によっては192.168.1.*だったりします)
SillyTavernを再起動させます。
事前に下記のソフトウェアがインストール済みである必要があります。
- docker
- docker compose
git clone https://github.com/SillyTavern/SillyTavern -b release
cd docker && docker-compose up -d
LAN内の別PCからアクセスできるように./config/にwhitelist.txtという名前のテキストファイルを作成して192.168.0.*と記載して保存します。(ネットワーク環境によっては192.168.1.*だったりします)
SillyTavernを再起動させます。
SillyTavern Launcherのダウンロード
SillyTavern Launcherのインストール
SillyTavern Launcherの起動
git clone https://github.com/SillyTavern/SillyTavern-Launcher && cd SillyTavern-Launcher
SillyTavern Launcherのインストール
chmod +x install.sh && ./install.sh
SillyTavern Launcherの起動
chmod +x launcher.sh && ./launcher.sh
oobabooga/text-generation-webuiのAPI機能をText generation web UIのページを参考に有効化したものとして進めます。
※SillyTavern自体は言語モデルをロードする機能を持たないのでtext-generation-webuiなどの他のソフトウェアをバックエンドとしてセットアップする必要があります。
oobabooga/text-generation-webuiのAPI機能を有効化してtext-generation-webuiを起動したら言語モデルをロードします。
今回は例としてTheBloke/Swallow-13B-Instruct-AWQをロードしました。
言語モデルのダウンロード、ロード方法についてはこちらのページをご覧下さい。
SillyTavernページ上部のコンセントアイコンをクリックしてAPI設定を開きます。
APIをText Completionに、APIタイプをデフォルト (Oobabooga)に変更します。
サーバーURLにhttp://<text-generation-webuiを実行しているPCのアドレス>:5000 (同一PCで実行しているなら、http://127.0.0.1:5000など...)を入力します。
あとは接続をクリックすれば接続されます。
ついでに前回のサーバーに自動接続オプションも有効にしておくと良いかもしれません。
※SillyTavern自体は言語モデルをロードする機能を持たないのでtext-generation-webuiなどの他のソフトウェアをバックエンドとしてセットアップする必要があります。
oobabooga/text-generation-webuiのAPI機能を有効化してtext-generation-webuiを起動したら言語モデルをロードします。
今回は例としてTheBloke/Swallow-13B-Instruct-AWQをロードしました。
言語モデルのダウンロード、ロード方法についてはこちらのページをご覧下さい。
http://<text-generation-webuiを実行しているPCのアドレス>:5000/docsにブラウザでアクセスしてoobabooga/text-generation-webuiのAPI機能が有効なのを確認します。
SillyTavernページ上部のコンセントアイコンをクリックしてAPI設定を開きます。
APIをText Completionに、APIタイプをデフォルト (Oobabooga)に変更します。
サーバーURLにhttp://<text-generation-webuiを実行しているPCのアドレス>:5000 (同一PCで実行しているなら、http://127.0.0.1:5000など...)を入力します。
あとは接続をクリックすれば接続されます。
ついでに前回のサーバーに自動接続オプションも有効にしておくと良いかもしれません。
言語モデルを使用してテキストを生成するときのサンプリングプロセスを制御します。
これらの設定は、サポートされているすべてのバックエンドに共通です。
※Text generation web UIのParameters → Generationのように言語モデルのパラメーターの(プリセットへ)設定、変更などが行えます。
APIが応答(レスポンス)するために生成するトークンの最大数
- 応答(レスポンス)の長さが長いほど、応答の生成にかかる時間が長くなります。
- APIでサポートされている場合は、”ストリーミング”オプションを有効化することで生成中の応答を少しずつ表示することができます。オフの場合、応答が完了した時点で一括表示されます。
SillyTavernがプロンプトとしてAPIに送信するトークンの最大数から応答の長さを引いたもの
- コンテキストは文字情報、システム プロンプト、チャット履歴などで構成されます。
- メッセージ間の点線は、チャットのコンテキスト範囲を示します。その線を超えるメッセージはAIに送信されません。
- ロックを解除
生成されるテキストのランダム性を制御します。
値が大きいほどランダム性が高くなります。
※値を上げると創造的になり、小説の執筆などに向く。逆に下げるとQ&Aなどの回答の質が上がる?
値が大きいほどランダム性が高くなります。
※値を上げると創造的になり、小説の執筆などに向く。逆に下げるとQ&Aなどの回答の質が上がる?
コンテキスト内でのトークンの出現頻度に基づいてトークンにペナルティを課すことで、繰り返しを抑制しようとします。
- 場合によっては、キャラクターが何かに固執している場合、または同じフレーズを繰り返す場合、このパラメータを増やすと役立つことがあります。
最後に生成されたトークンからのトークンの数が反復ペナルティの対象となります。 「the、a、and」などの一般的な単語が最もペナルティを受けるため、設定が高すぎると応答が中断される可能性があります。
※無効にするには、値を 0 に設定します。
※無効にするには、値を 0 に設定します。
最上位トークンの可能性に基づいて温度(temperature)を動的に調整します。一貫性を犠牲にすることなく、より創造的な出力を生み出すことを目指しています。
最低temperatureから最高temperatureまでのtemperature範囲を受け入れます。
最低temperatureから最高temperatureまでのtemperature範囲を受け入れます。
通常、AIモデルでは、何らかの特定の方法でキャラクターデータをAIモデルに提供する必要があります。 SillyTavernには、さまざまなモデル用の事前に作成された変換ルールのリストが含まれていますが、それらを自由にカスタマイズできます。
このフィールドは、プリチャット文字データ (内部的にはストーリー文字列として知られています) のテンプレートです。これは、テキスト補完用にキャラクターカードをフォーマットし、モデルに指示する主な方法です。
このテンプレートは、Handlebars構文とカスタムテキストインジェクションまたは書式設定をサポートしています。こちらの言語リファレンスを参照してください: https://handlebarsjs.com/guide/
次のパラメータを Handlebars エバリュエーターに提供します (二重中括弧{{}}で囲みます)。
このテンプレートは、Handlebars構文とカスタムテキストインジェクションまたは書式設定をサポートしています。こちらの言語リファレンスを参照してください: https://handlebarsjs.com/guide/
次のパラメータを Handlebars エバリュエーターに提供します (二重中括弧{{}}で囲みます)。
- description キャラクターの説明
- scenario キャラクターのシナリオ
- personality キャラクターの性格
- system [命令モード] システムプロンプトまたはキャラクターのメイン プロンプト オーバーライド(存在し、ユーザー設定で「文字プロンプトを優先」が有効になっている場合)
- persona 選択したペルソナの説明
- char キャラクターの名前
- user 選択したペルソナ名