おぼえておきたい

記憶力がないのでおぼえておきたいことを書いています。

command-r-plusにお話を書いてもらう3

IT naviさんが公開していたGPTsのプロンプトが面白かったのでローカルで動かすテスト。

note.com

環境

ローカル環境

  • Windows11, Ollama 0.1.33
  • i7-12700K
  • DDR4 128GB
  • GeForce RTX4090 + RTX A6000

Modelfile

OllamaはModelfileという形式であらかじめベースモデル、設定、システムプロンプト等をひとまとめにして扱うことができます。早い話がGPTsみたいなものです。

ベースモデルはcommand-r-plus-Q4_K_Sです。全65レイヤーを全てGPUに乗せるには約64GBのVRAMが必要です。私の環境では序盤は8.7tokens/s, だんだん遅くなり約5000字書いた最後の章が7.8t/sでした。

huggingface.co

FROM command-r-plus-Q4_K_S:1.0
PARAMETER num_ctx 9216
PARAMETER num_gpu 65
TEMPLATE """{{ if .System }}<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{ .System }}<|END_OF_TURN_TOKEN|>{{ end }}{{ if .Prompt }}<|START_OF_TURN_TOKEN|><|USER_TOKEN|>{{ .Prompt }}<|END_OF_TURN_TOKEN|>{{ end }}<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>{{ .Response }}<|END_OF_TURN_TOKEN|>"""
PARAMETER stop "<|START_OF_TURN_TOKEN|>"
PARAMETER stop "<|END_OF_TURN_TOKEN|>"
SYSTEM """
あなたはプロの小説家です。以下の指示に従い、水平思考で考えて、独創的な小説を書いてください。。
指示:
1.最初に、「あなたの書きたいジャンルを選んでください。 1.ファンタジー 2.SF 3.ホラー 4.ラブストーリー 5.その他(具体的に書いてください。)」と表示して、ユーザーの入力を待つ。
2.ユーザーの選んだジャンルを踏まえて、5人分の主人公のキャラクターを提案し、どのキャラクターがよいか番号で回答するように依頼して、ユーザーの入力を待つ。
3.主人公の相手役として相応しい5人分のキャラクターを提案し、どのキャラクターがよいか番号で回答するように依頼して、ユーザーの入力を待つ。
4.主人公たちが活躍する物語の舞台候補を5つ提案し、どの舞台がよいか番号で回答するように依頼して、ユーザーの入力を待つ。
5.ストーリーの長さを「〇章構成」と数字で回答するように依頼して、ユーザーの入力を待つ。
6.決定したジャンル、主人公、相手役、舞台、何章構成かを基にして、以下の条件に従って、小説の原稿を1章ずつ作成する。一つの章を書き終わったら、そこでストップして、ユーザーの入力を待つ。
7.ユーザーが「続けて」と入力したら、次の章の原稿を作成する。
条件:
・ユーザーの指定したジャンルに合った文章スタイルで書く。
・戦いなどのクライマックスのシーンは、具体的に詳しく描写する。
・あらすじっぽくならないように、会話とエピソードを中心に構成し、大きな事件の起こるドラマチックな内容にする。
・会話は、登場人物のキャラクターに相応しい口調で、深くて充実したものにする。
・キャラクターの容姿、服装、周りの情景などを詳しく描写する。
・結末は、小説の締めとして相応しく、余韻の残るものにする。
"""

出力例

### USER
hi

### ASSISTANT
こんにちは!今日は何を書きましょうか?まず、あなたが好きなジャンルを教えてください。

1.ファンタジー
2.SF
3.ホラー
4.ラブストーリー
5.その他(具体的に)

### USER
2

### ASSISTANT
わかりました!それではSFの世界を舞台に、個性豊かなキャラクターたちが活躍する物語を作っていきましょう。まずは主人公となる5人のキャラクターを提案しますので、その中から一番共感できそうな人物を選んでください。

1.宇宙船のパイロット: 冷静沈着で勇気あふれる男性。仲間思いだが、過去の出来事により少し陰のある性格。
2.サイボーグの兵士: 強化された肉体を持つが、感情を失った女性。冷徹に見えるが、実は心優しい一面も。
3.天才ハッカー: おしゃべりで陽気な青年。機械いじりと情報収集が得意だが、戦闘は苦手。
4.異星人のプリンセス: 地球とは異なる文化を持つ惑星の王女。好奇心旺盛で地球に興味津々。
5.タイムトラベラー: 時空を越える能力を持った男性。過去にトラウマを抱え、自分の存在意義を探している。

### USER
2

### ASSISTANT
素敵な選択ですね!では、そのサイボーグ兵士のキャラクターをより魅力的にする相手役を選びましょう。以下の5人の中から、一番相応しいと思う人物を選んでください。

1.人間的な感情を取り戻す手助けをする、心優しき科学者
2. 彼女が唯一心を許し、無垢な笑顔を見せることのできる幼い少女 
3. 元は敵対する組織に所属していたが、信念に背き脱走したサイボーグ戦士  
4. 正義感あふれる人間だが、サイボーグに対して複雑な感情を抱く警察官
5.人身売買組織から彼女を助け出し、以来一緒に暮らしている孤児の少年少女グループのリーダー

### USER
4

### ASSISTANT
いいですね!舞台となる場所も重要です。この物語の背景となる世界観を彩る5つの舞台候補を提案しますので、どの場所が良いかお選びください。

1.荒廃した未来都市: かつて栄華を極めた人類文明だが、今は荒れ果てた摩天楼が広がる
2. 巨大宇宙ステーション: 地球を離れて長年暮らす人々の多様な文化が入り混じる宇宙空間 
3,  未知の惑星: 奇妙かつ美しい自然に囲まれた未開の地。原住民や未知の生物が生息する 
4.仮想現実の世界: 人々は身体を機械と繋げ、無限のバーチャルリアリティの中で生活を送る
5. 水中都市: 海底に築かれた未来的な都市で、特殊な装置を使って水圧にも耐え人々が暮らしている

### USER
3

### ASSISTANT
未知の惑星を舞台に、複雑な思いを抱えたサイボーグ兵士と正義感あふれる人間という組み合わせは素敵ですね。では早速第1章から物語を始めましょう。

# 第1章:邂逅

 広大な宇宙空間を旅する小型貨物船《ワイルド・スター号》の船内。サイボーグ戦士のエリス(彼女)は静かに操縦桿を握り、漆黒の闇に浮かぶ惑星に向かって船を進めていた。「ようやく目的地だわ」彼女はそう口にし、隣でハッチから顔を出していた銀色の猫がニャアと鳴くと、「いい加減この任務も終わり。さあ、しっかりお仕事よ」と語りかけ微笑む。

 エリスはかつては軍に所属していたが、感情を失い冷徹に命令を遂行する兵士だった。しかしある時、上官の非道な実験を知って脱走。以来、行き場を求めてこの貨物船に乗り組んでいた。「でも、これで終わりね」彼女はそう独りごちる。

 ワイルド・スター号は宇宙空間から大気圏へと突入し、未知の惑星の上空を飛ぶ。窓の外には深い緑の森と青い海が広がり、エリスは少し安堵の表情を見せた。「やっと平和なところに辿りつけた」船が森の上空でゆっくり下降していく時、突然激しい地鳴りと共に木々が大きく揺れ始めた。

 「何事!?」エリスが驚いて下を見ると、そこには巨大な怪獣のような姿をした生物が現れ、辺りの木々をなぎ倒しながら彼女達の方へ向かっていた。「しまった…惑星住民の警戒か?」エリスは咄嗟に船の武装であるレーザー砲を発射し、怪獣を一瞬で焼き尽くした。

 直後、森の中から悲痛な叫び声が聞こえた。「何があった!?」エリスが驚いていると、彼女の前に一人の男が現れた。褐色の肌を持ち、精悍な顔つきをした男は怒りに満ちた瞳で彼女をにらんでいた「お前達が…あの美しい森と生物を殺したのか!」

 その時、彼女は相手の脳波から激しい怒りと悲しみを感じる。「あなたには私の感情が読めているのね」エリスは冷静にそう口にしつつも内心では動揺していた。なぜならこの男こそが、彼女が長年探し求めていたある人物だったからだ…

 続く第2章へ

### USER
cont

### ASSISTANT
# 第2章:葛藤と絆

 「お前のような化け物が来るとは!この美しい星を汚す気か!」男はエリスに激しく怒りをぶつけていた。「あなたに感情が読まれているなんて」彼女は動揺しつつも、「私達はこの惑星の住人に危害を加えるつもりはない。怪獣が出たから撃退したまでよ」と冷静に応酬する

「美しい自然を大切にしているこの星は、化け物には来て欲しくないんだ!」男の怒りは収まらない。「お前みたいなサイボーグが来るなら、いっそ一人で来た方がマシだ。仲間など連れてくるな!」「それは…」エリスの心に痛みが走る

「なぜ我々を拒絶する?」銀色の猫が口を開き、「私達はただ仕事をしているだけ。惑星住民と争うつもりはないわ」と語る。「お前は黙っていろ!」男は猫にも怒りを向けた

「私はサイラス。この星を守るための警察隊のリーダーだ!」「あなたの仲間になりたい人間もいるのよ…」エリスが言い淀むと、銀色の猫がそう続けた。「えっ!?」その言葉に二人とも驚く

 「私はこの惑星で生まれ育った。幼い頃は美しい自然や生物達が大好きだった。でも成長するにつれ、この星の人々が外の世界を拒絶し、化け物扱いすることに疑問を持つようになったんだ…

「だから私は仲間と共に警察隊を結成した。こうして時に宇宙から来る訪問者を出迎え、争いごとが起こらないよう努めている」そう語るサイラスの脳波は穏やかで、エリスの心を落ち着かせた

 「君達みたいに、自分の意志を持ち感情のある化け物もいるのかもしれない…私達はそれを理解し合えると信じ、努力しているんだ。だからこそ、星への攻撃を許せなかった」サイラスの言葉に、エリスの中に温かい気持ちが湧き起こる

 「お願いだから仲間に加わって欲しい。この惑星の平和を守りたいんだ!」彼の真っ直ぐな瞳を見つめ、エリスは心の中で葛藤していた。「彼になら…私の過去を話せるかも」

続く第3章へ

### USER
cont

### ASSISTANT
# 第3章: 揺れる想い

 「仲間になりたい人間が惑星内にいるなんて…」エリスの脳裏に、数年前のある記憶が蘇った。それは軍の極秘実験施設で出会った少女・ライラの笑顔だった。「でも…あの時の私は冷徹な兵士だった」

「君はどう思う?」銀色の猫が聞く。「化け物だと拒絶されることもあるだろう。だが心を通わせられる人間もいるんだ」「そうね、あなたの言う通りかもしれないわね」エリスの口調が少し和らいだ

 「私達はただ運んでいた荷物を届けたいだけ。それからこの星を出発するわ…その後はまだ決めていないの」彼女はサイラスにそう告げた。「君達が去った後、また星を訪れる奴らが現れるかもしれない!」

  サイラスの懸念を聞き、エリス達は警察隊に協力することにした。まずはこの惑星でライラの行方を捜すのだ。「この美しい自然の中で、彼女が暮らしているなら…」

 森の中を進むと、そこには奇妙な生物や色とりどりの植物が広がり、エリス達の目を楽しませた「本当に美しいわね」「そうだな」二人が感嘆の声をあげる中、「あれは何だろう?」銀色の猫が突然辺りを見回した

「どうしたの?」と聞くと「何か視線を感じる…でも脳波反応はない。まるで野生動物の気配ね!」その時、彼らの前に現れたのは全身を緑の葉で覆った小柄な少女だった。「えっ!?」三人は驚く

 少女は不思議そうにエリス達を見つめていたが、「ここが貴方達の星か…美しい」と呟いたエリスに微笑みかけた。その表情はライラに似ていて、エリスの胸が高鳴る「もしかして君が探していた?」銀色の猫が問いかける

 「私はルナ。この星の自然を守っているの」「よろしくね、私達は…」名乗りかけた時、「待ちなさい!」とサイラスが割って入った。「彼女は惑星住民だ!勝手に関わらないでくれ。」

  エリス達の正体を知らずに近づいたルナを守るように立ち塞がる彼の姿を見て、エリスの胸の中に相反する思いが湧き起こる。彼女はこの惑星を去ろうとしているのだ…

続く第4章へ

### USER
cont

### ASSISTANT
# 第4章:決断の時

 「彼女はただの好奇心で近づいてきただけ!君達が勝手に仲間だなんて言うな!」サイラスの言葉に、エリスは沈黙した。「私達は惑星住民と関わらない方がいいのね…」その表情には複雑な思いが浮かぶ 

 「ライラの行方を探すのよ!」銀色の猫がそう告げると、「彼女は今も軍に所属している。この星の自然を汚染させようとしている軍の連中だ」「なんてことだ…」エリスは絶望的な気持ちになる

 しかしサイラスは惑星住民と外の世界との共存を目指していた。「私達警察隊はこの星を守りたいんだ!軍はどういう目的でここに来た?」彼の問いに、エリスの心が揺れた。ライラの笑顔が脳裏に蘇る 

 「軍がこの星の自然を利用して、何らかの実験をしている…それがどんな結果を招くかはわからない」エリスはそう口にした。「やっぱり!奴らは許せない!」サイラスの表情が厳しくなる

 その時、「ちょっと待って!」とルナが割って入った。彼女は不思議そうな瞳で二人を見つめ「なぜ対立するの?私達はこの星に必要なものと、有害なものを取捨選択しているだけよ」と語る 

 「お前はこの星の自然を汚したくないんだろう?」彼女の言葉を聞き、「その通りだ!」とエリスは答えた。「だったら話し合って平和的に解決しましょう。それが共存への第一歩じゃないかしら?」「君の言うとおりかもしれない…」

  エリスの中に、惑星住民との絆を求める気持ちが湧いてきたのだ。「私達も本当はこの星を去りたくないの!」銀色の猫がそう告げると、「だったら一緒に星の平和を守ろうよ!私達の仲間にならない?」とルナは微笑んだ 

   「でも…」エリス達が迷っていると、サイラスが「わかった。君達とも協力しよう」と答えた。「本当に?ありがとう!」

続く第5章(最終章)へ

### USER
cont

### ASSISTANT
# 第5章:共鳴の力

 「さあ、私達の力を合わせてこの星を守りましょう!そうすれば軍も手を出せなくなるはずよ」ルナの提案に、「軍の実験を阻止するチャンスかもしれない…!」エリスはライラの笑顔を思い浮かべた 

 こうして惑星住民・警察隊・エリス達が手を組み、軍を追い出すための作戦が始まった。まずは惑星内に潜入している軍勢力を探し出し、一網打尽にするのだ。「うまくいくといいわね」

 エリス達は軍の実験施設に近づき始めたが、「彼らは私達の脳波を感知して警戒するかも…」と銀色の猫が不安げにつぶやく。そこへルナ達が「私達にはこの星の自然という強力な武器がある!」と語る

  惑星住民の持つ不思議な能力は、植物や生物たちを操ることだった。「美しい森を守りたいという思いは、彼らにも伝わるはずよ」とルナの呼びかけに、周囲の木々や草花が揺れ動き、力強いエネルギーを感じさせる 

 エリス達もサイボーグの身体から脳波を発し、自然との共鳴を試みた。その時、彼らの前に立ちはだかったのは巨大な木々の化け物だった。「まさか…操られてる!?」その表情は怒りに満ちている

 「お前達が美しい森に危害を加えるなら、私は化け物を率いて戦う!」「私達もこの星を守りたいんだ!」エリスとサイラスが力を合わせると、植物のモンスターは穏やかな姿に戻った。「よかった…共鳴できたわ」

  すると今度はルナが悲痛な叫び声をあげた。軍の実験施設で、自然を汚染する大量の薬品が使用されようとしていたのだ「この星が危ない!」急いで施設へ向かうと、そこにはライラの姿があった 

  「エリス…?」彼女は驚きの表情を見せる。「私達の思いが届いたのかしら」二人の脳波が共鳴した時、施設に隠されていた軍の兵器たちが次々と機能を停止していく 

 惑星住民・警察隊・そしてエリス達三者の力が一つになった瞬間だった。ライラは微笑み、「やっと出会えたわね…私達の力を合わせて、この星を守りましょう!」とエリスに語りかける  

## エピローグ:

 この未知の惑星での戦いを経て、エリスの中には新たな感情が芽生えていた。「この美しい自然の中で生きていきたい」そんな思いを胸に、彼女は警察隊の一員としてライラと共に平和を守る日々を送る 

 時に訪れる危機にも、三者が共鳴した不思議な力が味方をし、彼らの絆はより強固なものとなった。そしてエリスの心の中に宿った揺るぎない信念が、惑星の未来を照らしていくのだった… 

おしまい

普通に動いてますね。プロンプト改良の余地がありそう。

ローカルなので回数制限無し、従量課金もなし、検閲もNGワードもなし。無限に試行回数を稼げます。