https://w.atwiki.jp/localmlhub/pages/19.html
↑「Kobold.cppで小説っぽいのを作る」の続きで、今度はチャットをしてみます。
Kobold.cppのインストールや基本設定については↑のページを見てください。
↑「Kobold.cppで小説っぽいのを作る」の続きで、今度はチャットをしてみます。
Kobold.cppのインストールや基本設定については↑のページを見てください。
チャットに向いたモデルを落とす
https://huggingface.co/TehVenom/Pygmalion-13b-GGML
前回と同じモデルでもいいのですが、チャットに向いていると言われるPygmalion(13B・GGML版)をダウンロードしてみます。
Pygmalion-13b-Q5_1.binをダウンロードしてまたPCのどこかに保存してください。
前回と同じモデルでもいいのですが、チャットに向いていると言われるPygmalion(13B・GGML版)をダウンロードしてみます。
Pygmalion-13b-Q5_1.binをダウンロードしてまたPCのどこかに保存してください。
そして前回のように、Kobold.cppで読み込んでください。
33Bクラスのモデル
https://huggingface.co/TheBloke/airoboros-33B-gpt4-1.4-GGML/tree/main
https://huggingface.co/TheBloke/WizardLM-33B-V1.0-Uncensored-GGML/tree/main
小説のほうでも紹介していますが、こうした33Bクラスのモデルは重いものの格段に反応が良くなっています。
https://huggingface.co/TheBloke/WizardLM-33B-V1.0-Uncensored-GGML/tree/main
小説のほうでも紹介していますが、こうした33Bクラスのモデルは重いものの格段に反応が良くなっています。
日本語モデルもついに
https://huggingface.co/mmnga/weblab-10b-instruction-sft-ggml/tree/main
日本語モデルもついに出ました。まあ応答はかなりアレですが、「りんな」などの世代よりだいぶ良いと思いますしGGMLで動くので高性能GPUが要らないのは高評価ポイントです。キャラ設定なども日本語でどうぞ。
日本語モデルもついに出ました。まあ応答はかなりアレですが、「りんな」などの世代よりだいぶ良いと思いますしGGMLで動くので高性能GPUが要らないのは高評価ポイントです。キャラ設定なども日本語でどうぞ。
チャットモード開始
今回は「Scenarios」から「New Chat」というのを選びます。
すると下のほうにあるボタンも前回と微妙に変わります。が、まずは右下の緑の歯車ボタンを押してボタンの数を増やしましょう。
そしてキャラなどの設定をしていきます。
そしてキャラなどの設定をしていきます。
キャラ設定
キャラ設定の基本は前回と変わりません。「W Info」から「+」ボタン、あとは「Rin」を「Rin is an aggressive talented wizard, 18 yo.」とでもしてみます。
前回とほとんど同じですね、レズではなくなりましたが。
前回とほとんど同じですね、レズではなくなりましたが。
なお今回は「あなた」とのやりとりを意識しているので、とりあえず1キャラだけでいいことにします。
指示と最初のやりとり
今回は「Memory」ボタンを押して、もっと細かく指示を入れます。Chatの場合はそうしないと上手くいかないことが多いように思います。
Write one relatively short reply in internet RP style for Rin. Be verbose and creative. Rin is an aggressive talented wizard, 18 yo. You are her partner. She describes what she experienced in yesterday's loss. Rin: Damn, why did you come here!? You: I heard you were badly hurt. Rin: Go back home!! *sobbing* You: Were they... so strong?
これを一番上の大きい「Memory」欄にコピペしましょう。他はとりあえずそのままでいいです。
日本語にすると
さっきのを日本語にするとこんな感じです。
リンのためにインターネットRPスタイルで比較的短い返信を1回書いてください。多弁でクリエイティブであること。 リンは攻撃的な才能を持つ魔法使い、18歳です。あなたは彼女のパートナーです。彼女は昨日の敗戦で経験したことを述べます。 リン: くそっ、なんで来たのよ!? あなた: ひどい目にあったって聞いたから。 リン:帰りなさい!(すすり泣き) あなた:彼らは...そんなに強かったのか?
最初の1行は返信スタイルの指示。
次の行は凛のための説明(W Infoとかぶっていますが、念のため両方書いています)。
次の行は凛のための説明(W Infoとかぶっていますが、念のため両方書いています)。
そして残りの4行は最初のやりとりです。リン・あなたが2回ずつ発言しています。
こうやって、ある程度やりとりの方向を決めてからでないとチャットは上手く進まない印象があります。
こうやって、ある程度やりとりの方向を決めてからでないとチャットは上手く進まない印象があります。
書くのにも読むのにもやはり前回同様、DeepL先生が大活躍します。
では「OK」を押してチャット欄に戻りましょう。
では「OK」を押してチャット欄に戻りましょう。
生成開始
まず、何も入れず右下の再生ボタン「▶」を押してみましょう。
するとしばらくして、Rinからの返事が来ます。
(※さっき入力した、「彼らは...そんなに強かったのか?」への返事ということですね)
(※さっき入力した、「彼らは...そんなに強かったのか?」への返事ということですね)
They weren't even a challenge for them! And they had no mercy for me either, they just kept hitting me until I was dead!!!
日本語にすると、
奴らにとっては挑戦の対象ですらなかったのね! 私に対する慈悲はなかった。私が死ぬまで殴り続けた!!!
リンがいきなり死んでしまいました。これではよくないので、前回と同様に修正していきます。
(「Retry」ボタンを押すのでもいいですが)。
(「Retry」ボタンを押すのでもいいですが)。
まず「Edit」を押します。すると前回と似た画面に変わります。
修正
They weren't even a challenge for them! And they had no mercy for me either, they just kept hitting me until
前回同様、まずOKなところを残して一部を消します。
They weren't even a challenge for them! And they had no mercy for me either, they just kept hitting me until I almost died!
そしてDeepL先生の力も借りて、「I almost died(死にかけた)」ということにしてみました。
右下あたりにある「Allow Editing」のチェックを外し、Chatモードに戻ります。
右下あたりにある「Allow Editing」のチェックを外し、Chatモードに戻ります。
返事を書く
ではDeepL先生と協力しつつ、チャット欄に「Then why did you survive?」と入れてみましょう。「なんで助かったんだ?」ということですね。
Enterを押すか、また右下の再生ボタン「▶」を押します。
するとこんな返事が来ました。
Enterを押すか、また右下の再生ボタン「▶」を押します。
するとこんな返事が来ました。
I don't know... maybe because they were curious about how I would react to being in pain... So they wanted to see if I could handle the pain or not...
日本語にすると
わからない...たぶん、彼らは私が痛みを感じることにどう反応するのかに興味があったからだと思う...。 私が痛みに耐えられるかどうか、確かめたかったんでしょ...。
まあいいことにします。
さらに返事を書く
「So you're saying they just left in the end?」と入れてみます。「つまり奴らは最後はそのまま去って行ったということか?」という返事ですね。
この辺はDeepL先生とあなたの想像力のコンビネーションになります。
この辺はDeepL先生とあなたの想像力のコンビネーションになります。
Yep! It was really weird, but I guess it's better than having been killed by those monsters! But I don't want to experience that again, ever! That was really horrible!
ダメな返事が出たら「Retry」で再生成させているうちに、3回目でこんなのが来ました。
日本語にすると、
日本語にすると、
そう! 本当にヘンだけど、あのモンスターに殺されるよりはマシね! でも、もう二度とあんな体験はしたくない! 本当に恐ろしかった!
悪くないかと思うのですが、終わりにちょっとオマケを付けてみます。
Yep! It was really weird, but I guess it's better than having been killed by those monsters! But I don't want to experience that again, ever! That was really horrible! *sobbing*
このように*でくくった部分は動作や描写を表します。
この*sobbing*の場合「すすり泣きながら」みたいな意味になりますね。
この*sobbing*の場合「すすり泣きながら」みたいな意味になりますね。
もっと返事を書く
DeepL先生と協力し、「Don't go to dangerous places alone, why don't I go with you? *hugging her*」と書いてEnterを押しました。
「危険な場所に独りで行くな、俺が一緒に行けばいいだろう(彼女を抱きしめる)」という感じです。このように、自分の行動のほうにも*hugging her*で説明書きを加えることができます。
「危険な場所に独りで行くな、俺が一緒に行けばいいだろう(彼女を抱きしめる)」という感じです。このように、自分の行動のほうにも*hugging her*で説明書きを加えることができます。
すると返事が来て、
You would do that for me? *tears up* Thank you, thank you... I promise that next time we go out on adventure together, I will make sure I come back safe and sound!
日本語にすると……
私に、そうしてくれるの?(涙)ありがとう、ありがとう...! 今度一緒に冒険に出たら、必ず無事に帰ってくると約束するわ!
とまあこんな感じで続けていきましょう。
この後リンをどうするかは、あなたの自由です。
どういう返事が来ても最終的に返事とかを書き換えられるのがローカルAIチャットの恐ろしいところなんですよ。
どういう返事が来ても最終的に返事とかを書き換えられるのがローカルAIチャットの恐ろしいところなんですよ。
たまにAIが弁士みたいになる
なおたまに返事してから「じゃあ次はどうする?」「さあこの後はどうなってしまうのか?」みたいなのをAIが書いてくることもあります。Editで削除してもいいですし、無視しても、それに沿って続けても構いません。