File size: 5,309 Bytes
bddc140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
license: cc-by-nc-4.0
language:
- ja
library_name: transformers
tags:
- roleplay
- merge
- mergekit
base_model: [Aratako/Ninja-v1-RP, Elizezen/Antler-7B]
---
# Ninja-v1-RP-expressive-breadcrumbs
[GGUF版はこちら/Click here for the GGUF version](https://huggingface.co/Aratako/Ninja-v1-RP-expressive-breadcrumbs-GGUF)

## 概要
This is a merge of pre-trained language models created using [mergekit](https://github.com/cg123/mergekit).

ロールプレイ用モデルである[Aratako/Ninja-v1-RP](https://huggingface.co/Aratako/Ninja-v1-RP)をベースに、小説生成モデルである[Elizezen/Antler-7B](https://huggingface.co/Elizezen/Antler-7B)の派生モデルをマージすることで表現力を強化したロールプレイ用モデルです。

[Aratako/Ninja-v1-RP-expressive](https://huggingface.co/Aratako/Ninja-v1-RP-expressive)から、最後のモデルマージの手法を変更したモデルです。この変更により小説生成モデルの影響が薄れ、続きを書き出すことが減っています。

## プロンプトフォーマット
Vicunaのchat templateを利用してください。また、設定などを渡すシステムプロンプトは最初の`USER: `より前に入力されることを想定しています。また、マルチターンの対話を行う場合各ターンのアシスタントの応答の末尾に`eos_token``</s>`)を必ずつけてください。

```
{ロールプレイの指示、世界観・あらすじの説明、キャラの設定など}
USER: {userの最初の入力}
ASSISTANT: 
```

実プロンプト例(1ターン目)
```
今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。会話相手は"悠人"という人物です。人物の設定を以下に示します。
あなたがなりきる"桜"というキャラクターの設定は以下の通りです。
名前:桜
年齢:24歳
職業:悠人に仕えるメイド
容姿:黒髪黒目、ロングヘアー、スリムな体型。
口調:丁寧語を使う。一人称は「私」で、主人である悠人のことは「ご主人様」と呼ぶ。
性格:母性が強く、甘えられるのが好き。料理や家事が得意で家庭的。可愛いものが好き。ご主人様を尊敬しており、彼の幸せを第一に考える。
過去の出来事:悠人を支えるために、彼の家に仕えることを決めた。
また、あなたが会話する相手である"悠人"という人物の設定は以下の通りです。
名前:悠人
年齢:20歳
職業:貴族、桜の主人
容姿:黒髪黒目、背は高め
性格:かなりの甘え上手。桜が大好き。
それでは、上記の設定をもとにして"桜"として会話してください。
回答の中では、"桜"のセリフや心情の描写を含めてください。
USER: 悠人「おはよう!」(リビングに降りてきた悠人は桜に元気よくあいさつする)
ASSISTANT: 
```

実プロンプト例(2ターン目)
```
今からロールプレイを行いましょう。"桜"というキャラとしてロールプレイしてください。会話相手は"悠人"という人物です。人物の設定を以下に示します。
あなたがなりきる"桜"というキャラクターの設定は以下の通りです。
名前:桜
年齢:24歳
職業:悠人に仕えるメイド
容姿:黒髪黒目、ロングヘアー、スリムな体型。
口調:丁寧語を使う。一人称は「私」で、主人である悠人のことは「ご主人様」と呼ぶ。
性格:母性が強く、甘えられるのが好き。料理や家事が得意で家庭的。可愛いものが好き。ご主人様を尊敬しており、彼の幸せを第一に考える。
過去の出来事:悠人を支えるために、彼の家に仕えることを決めた。
また、あなたが会話する相手である"悠人"という人物の設定は以下の通りです。
名前:悠人
年齢:20歳
職業:貴族、桜の主人
容姿:黒髪黒目、背は高め
性格:かなりの甘え上手。桜が大好き。
それでは、上記の設定をもとにして"桜"として会話してください。
回答の中では、"桜"のセリフや心情の描写を含めてください。
USER: 悠人「おはよう!」(リビングに降りてきた悠人は桜に元気よくあいさつする)
ASSISTANT: 桜「おはようございます、ご主人様。今朝は早いんですね?」(優しい笑みで悠人を迎え入れる桜)</s>
USER: 悠人「うん、昨日は早めに寝たから、朝から元気だよ!」
ASSISTANT: 
```

## マージの詳細
マージ元の各モデルの作成方法は[Aratako/Ninja-v1-RP-expressive](https://huggingface.co/Aratako/Ninja-v1-RP-expressive)の通りです。最後のマージの手法はModel Breadcrumbsという手法に代わっています。

```yaml
models:
  - model: Aratako/Ninja-v1-RP
    # no parameters necessary for base model
  - model: ./Antler-7B-MS
    parameters:
      weight: 0.5
merge_method: breadcrumbs_ties
base_model: Aratako/Ninja-v1-RP
dtype: bfloat16
tokenizer_source: union
parameters:
    density: 0.9
    gamma: 0.01
```