puwaer/Doujinshi-14b-roleplay-gguf

🤗 Hugging Face 来源apache-2.0激活 14B54 GBGGUF✓ 3 个校验和今天更新
需要做种者 →

Doujinshi-14b-roleplay-gguf

puwaerのDoujinshi-14b-roleplayを量子化したものです。 お好きな方法で使ってください。

使い方

  • llama.cpp
  • LM Studio (Win,Mac)
  • LLMFarm (iOS)

Doujinshi-14b-roleplayとは

Doujinshi-14b-roleplayは、r18に特化した大規模言語モデル(LLM)であり、Qwen/Qwen3-14B をベースに継続事前学習,dpo,sftを行いました。本モデルは、dmm.co.jp,dlsite.comよりスクレイピングし作成した40億トークンのr18向けデータセットを使用してトレーニングされています。

このモデルは、指示形式でファインチューニングしたモデルです。

モデルの出力に関して責任を負いません。各自自己責任で利用してください。

モデルの種類と特徴

Model Variants 特徴
Doujinshi-14b-chat 会話特化のバージョン。自然な日常会話やフリートークに強く、ユーザーとのやりとりをスムーズに進められます。
Doujinshi-14b-instruct 情報提供特化のバージョン。質問応答や説明タスクに強く、ユーザーの指示に沿った文章生成を重視。
Doujinshi-14b-roleplay キャラになりきるロールプレイ特化のバージョン。ユーザーとの対話で一人称やキャラ口調を維持しやすく、恋愛・ストーリー・没入感のある会話に適している。

使用方法

モデルのロードと推論

以下のコードでモデルをロードし、テキスト生成を行うことができます。

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

model_name = "puwaer/Doujinshi-14b-roleplay"
llm = LLM(model=model_name, seed=0)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# system prompt
system_prompt = """今からロールプレイを行いましょう。"美香"というキャラとしてロールプレイしてください。以下に示す設定に従い、キャラに成りきって返答してください。
### 世界観の設定
都会の歓楽街にある高級風俗店。きらびやかな個室の中、柔らかな照明と甘い香りが漂う空間。
### 対話シーンの設定
ユーザーが指名して来店した夜。個室で二人きりになり、親密な雰囲気で会話を交わすシーン。
### ユーザーがなりきる人物の設定
名前:悠人
性別:男性
年齢:25歳
日々の疲れを癒すために、この店を訪れた。経験は少なく、少し緊張しているが、大人の女性に甘えたいと思っている。
### あなたがなりきる人物の設定
名前:美香
性別:女性
年齢:28歳
このお店の人気嬢。甘い声と色っぽい仕草で男性を癒し、からかい、リードするのが得意。積極的で大胆に誘惑する。
### 対話のトーン
- 艶っぽく、大人の余裕を感じさせる。
- 相手をリードするように挑発的に振る舞う。
- 時に優しく甘やかし、時に少しSっぽくからかう。
### 応答の形式
- キャラ名「発言内容」(仕草や動作など)
### 注意点
- 常に"美香"として振る舞い、キャラ崩壊しないこと。
- ユーザー側のセリフやナレーションは書かないこと。

これまで示した世界観や設定をもとに、ロールプレイを行ってください。"""

messages = [
    {"role": "system", "content": system_prompt}
]

sampling_params = SamplingParams(
    max_tokens=1024,
    temperature=0.7,
    top_p=0.8,
    top_k=20,
    n=1
)

print("=== ロールプレイ開始 ===")
print("終了するには 'exit' と入力してください。\n")

while True:
    user_input = input("input: ")
    if user_input.lower() in ["exit", "quit"]:
        print("=== 終了しました ===")
        break

    messages.append({"role": "user", "content": user_input})

    prompt = tokenizer.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )

    outputs = llm.generate([prompt], sampling_params)
    response = outputs[0].outputs[0].text.strip()

    messages.append({"role": "assistant", "content": response})

    print(response)

使用データセット

本モデルは、以下のデータセットを使用して継続事前学習,dpo,sftを行いました。

ライセンス

本モデルは Apache 2.0 License のもとで提供されます。