JA ▾
API キーを取得

Abliteratedのロールプレイ向けLLM:APIセットアップガイド

Abliteratedモデルは、安全性の拒否を強制するメカニズムが除去された大規模言語モデルです。これにより、モデルはコンテンツフィルタに引っかかることなく、論争の的となる質問、成人向けの内容、またはニッチな質問に回答できます。このアプローチにより、開発者はモデルのトーンと知識のカットオフを完全に制御でき、標準的なガードレールが有用な出力をブロックする可能性があるコーディング、ロールプレイ、クリエイティブライティングにおいて特に価値があります。

マスクと光るチャットバブルがコードターミナルにリンクしたロールプレイのイメージ

主要ポイント

  • モデルがシーン途中で拒否したり講釈をたれ始めたりするとロールプレイは破綻するため、拒否動作はベンチマークスコアよりも重要です。
  • 100,000トークンのウィンドウは、長いキャラクターカードと数時間のチャット履歴を保持できます。
  • SillyTavernはカスタムOpenAI互換ソースを通じて接続し、ベースURL、キー、モデルID uncensored を使用します。
  • 平均6,000トークンのプロンプトによる50ターンセッションは、約$0.05かかります。

モデルがロールプレイで優れている理由

ロールプレイは言語モデルにとって厳しいテストです。何百回ものメッセージで声を維持し、数シーン前の出来事を覚え、ストーリーがダークな展開になったときもキャラクターを維持し、自ら説明するために場を離れてはいけません。標準的なアシスタントモデルは、最後の点で最も頻繁に失敗します。それは良い段落を書きますが、その後に免責事項を追加するか、明らかにフィクションであるプロット展開を拒否します。

abliteratedまたはuncensoredモデルは、それらの拒否を除去するように調整されています。それは役立ちますが、プロバイダーにコミットする前に確認すべき5つの特性のうちの一つにすぎません。

  • 拒否動作。 解説なしで、悪役のセリフや道徳的にグレーなシーンに従いますか?
  • コンテキストの長さ。 キャラクターカード、世界観のノート、チャット履歴が1つのリクエストに収まりますか?
  • 一貫性。 キャラクターは長いセッションを通じて同じ話し癖を維持しますか?
  • サンプリング制御。 temperature、top_p、ペナルティ、ストップシーケンスを変更できますか?
  • ストリーミング。 テキストがトークンごとに表示され、返信が会話のように感じられますか?

すべてのストーリースタイルで単一の勝者を正直に挙げることはできません。好みは人それぞれで、二人の作家が同じモデルを異なる順位で評価することもあります。実用的な答えは、候補モデルで自分のシナリオを実行し、出力を自分で判断することです。

ロールプレイにAPIがもたらすもの

このサービスは、独立したプロバイダーによってホストされ、合法的な成人向け利用に対してコンテンツ拒否なしで応答するように調整された1つのオープンウェイトモデルを実行しています。モデルIDは uncensored です。ベンダー間のルーティングがないため、月曜日にテストした声が金曜日に得られる声です。

ロールプレイのニーズ提供される機能
長いメモリプロンプトとcompletionを含む100,000トークンのコンテキスト
ライブタイピング効果stream: true を介したSSEによるストリーミング
スタイル制御temperature、top_p、stop、seed、両方のペナルティが渡されます
クライアントサポートOpenAI互換なので、URLの変更だけでSillyTavernや類似ツールが動作します
プライバシープロンプトはトレーニングに使用されません

適用される厳格な制限は一つだけで、交渉の余地はありません:未成年者を含む性的コンテンツは禁止です。キャラクターやシナリオをそのラインの正しい側に保ち、合合合合法的な成人利用に収めてください。モデルファミリーの詳細は abliteratedモデルのページ にあります。

SillyTavernを5ステップで接続

SillyTavernは任意のOpenAI互換エンドポイントと通信できます。メニューラベルはバージョンによって少し異なりますが、フローは同じです。

  1. APIキーのページ でアカウントを作成し、キーを取得してください。新規ユーザーはワンクリックで$0.50の無料トライアルクレジットを取得でき、7日間有効、カード不要です。
  2. SillyTavernでプラグアイコン(API Connections)を開き、APIタイプを Chat Completion に設定します。
  3. Custom (OpenAI 互換)ソースを選択してください。
  4. エンドポイントURLに https://api.abliterated.cc/v1 を入力し、API keyフィールドにキーを貼り付けます。
  5. モデルIDに uncensored と入力し、Connectを押します。緑色のステータスは、/v1/models へのリクエストが成功したことを意味します。

接続に失敗した場合は、まずURLを確認してください。末尾が/v1で、末尾にパスがなく、余分な/chat/completionsが含まれていない必要があります。クライアント側でその部分が自動的に付加されます。

推奨される初期設定

Temperatureを0.8から1.0の間に設定すると、生き生きとした文章になります。top_pは0.9付近に保ってください。返信が同じフレーズを繰り返す場合は、約0.2の小さなfrequency penaltyを追加してください。コンテキストサイズを実際のウィンドウに近づけますが、返信の余地を残してください。その後、数回のシーンを経て感覚で調整してください。

Pythonでロールプレイループを構築する

独自のフロントエンドやDiscordボットを書く場合、OpenAI SDKで十分です。このスクリプトは履歴全体を保持し、返信をストリーミングし、モデルがあなたのセリフを書き始めないようにします。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.abliterated.cc/v1",
    api_key="YOUR_KEY",
)

system = (
    "You are Mara, a smuggler captain in a sea-faring fantasy setting. "
    "Write in third person, past tense, two short paragraphs per reply. "
    "Never write the actions or words of the player character."
)
history = [{"role": "system", "content": system}]

while True:
    user = input("> ")
    history.append({"role": "user", "content": user})

    stream = client.chat.completions.create(
        model="uncensored",
        messages=history,
        temperature=0.9,
        top_p=0.9,
        frequency_penalty=0.2,
        stop=["\nPlayer:"],
        stream=True,
    )
    reply = ""
    for chunk in stream:
        if chunk.choices and chunk.choices[0].delta.content:
            piece = chunk.choices[0].delta.content
            reply += piece
            print(piece, end="", flush=True)
    print()
    history.append({"role": "assistant", "content": reply})

同じ呼び出しはNode、curl、または他のOpenAIクライアントから動作します。Base URL、キー、モデルIDのみが異なります。docsのクイックスタートで各バリエーションを示しています。

モデルが従えるキャラクターカードの作成

ロールプレイの品質問題のほとんどはプロンプトの問題です。曖昧なカードは曖昧なキャラクターを生み出します。良いカードは300〜600トークンに収まり、4つのことをカバーする必要があります:キャラクターが誰であるか、どのように話すか、今何を望んでいるか、そして絶対に何をしてはいけないか。

詩的な表現よりも具体的であること。「Maraはミステリアスで危険だ」と「Maraは質問に質問で答え、見知らぬ人には本名を教えず、背後に誰かが立っているときナイフの近くに手を置く」を比較してください。2番目の行は、モデルがすべてのターンで再現できる動作を提供します。

  • 口調のサンプル。 2〜3行の例文対話を入力してください。モデルは形容詞よりも例文からリズムや語彙をより正確に模倣します。
  • フォーマットルール。 人称、時制、長さ、アクションにアスタリスクを使用するかどうかを明記してください。モデルは明確に指示されない限りフォーマットで逸脱します。
  • シーン状態。 現在の場所、時間、オープンなスレッドをプロンプトの最後に配置し、最近の情報が最も強い影響を持つようにします。
  • 境界線。 物語が大人のみで構成される場合は、カードに明記してください。「すべてのキャラクターは大人です」という一文は、あなたやログを読む人にとって設定を明確に保ちます。

単調で同じことを繰り返す、または押しつけがましいキャラクターを修正する

これらは最初の1時間後に現れる問題で、一般的な修正方法です。

キャラクターが同じことを繰り返す

フレーズが数回のやり取りごとに繰り返されます。frequency_penaltyを0.3に、presence_penaltyを0.1に上げ、temperatureを0.1だけ引き上げ、要約や例文自体にそのフレーズが含まれていないか確認してください。モデルは目にするものをコピーします。

返信が長くなりすぎる

長い返信は、モデルに長い返信が標準であると教えます。履歴からいくつかの長い返信を削除し、長さのルールを再述し、max_tokensを受け入れ可能な上限に設定してください。このフィールドはオプションなので、設定した場合のみ上限として機能します。

モデルがキャラクターの行動を決定する

システムメッセージに明確なルールを追加し、キャラクターの名前プレフィックスにストップシーケンスを設定します(上記のスクリプト参照)。フロントエンドを使用している場合は、履歴が同じ名前のタグでフォーマットされていることを確認してください。

ストーリーが停滞する

キャラクターに目標と期限を与えてください。「潮が引く前に地図を手に入れなければならない」という状況は、物語を動かします。何も望まないキャラクターは、あなたが動くのを待つだけで、シーンは退屈になります。

長いストーリーの一貫性を保つ

100,000トークンのウィンドウは広大ですが、数ヶ月にわたるキャンペーンではその範囲を超えてしまいます。そのことに早期に備えて計画を立ててください。

  • 必須要素を固定する。 キャラクターカードと現在のシーン目標を、トリミングされないシステムメッセージの上部に保持してください。
  • 過去のやり取りを要約する。 30〜40メッセージごとに、モデルにチャットの最も古い部分を短い要約に圧縮させ、それらのメッセージを要約に置き換えてください。
  • lore listを使用する。 名前、場所、約束を短いブロックに保存し、各ターンで更新してください。モデルは最後のプロンプトで述べられた事実よりも、80メッセージ前のマイナーな詳細を忘れる傾向があります。
  • デバッグ中にseedを使用する。 プロンプトを微調整する際、固定のseedにより比較が公平になります。

よくある失敗:モデルがあなたのキャラクターの代わりに話す。システムプロンプトで直接的なルールを追加し、上記のようなストップシーケンスで補強してください。もう一つの失敗:すべての返信が同じ方法で始まる。温度を少し上げ、頻度ペナルティを追加してください。

セッションのコスト

料金は入力トークン100万トークンあたり$0.15、出力トークン100万トークンあたり$0.50で、前払いクレジットから課金されます。ロールプレイは履歴全体がターンごとに送信されるため入力が多く、入力側のコストが支配的になります。

50ターンのセッションを例にします。平均的なプロンプトは6,000トークン(キャラクターカードと履歴を含む)で、各返信は約250トークンです。

  • 入力:50 x 6,000 = 300,000トークン、これは 0.3 x $0.15 = $0.045
  • 出力:50 x 250 = 12,500トークン、これは 0.0125 x $0.50 = $0.00625
  • 合計:$0.05125、約5セント

$20のチャージで、その規模のセッションが約390回分カバーされます。チャージは$20から$500まで整数単位で実行され、$50以上で+5%、$100以上で+10%、$200以上で+15%のボーナスが付きます。クレジットは期限切れにならず、失敗または拒否されたリクエストには課金されません。暗号資産(TRC20上のUSDT、Base上のUSDC)でお支払いいただけます。完全な詳細は価格ページをご覧ください。

質問と回答

ロールプレイに最適な単一のabliterated LLMはありますか?

いいえ。好みはジャンルや文章スタイルによって異なります。決定する前に、$0.50のトライアルクレジットを使用して、自分のシーンで候補を試してください。

SillyTavernで使用できますか?

はい。Chat Completionを選択し、Custom (OpenAI-compatible) ソースを選択して、ベースURLとキーを入力し、モデルIDをuncensoredに設定してください。

あらゆるコンテンツを許可していますか?

合合合法的な成人利用に対してコンテンツ拒否なしで回答するようにチューニングされています。未成年者を含む性的コンテンツは決して許可されません。

どの程度の履歴を送信できますか?

コンテキストウィンドウは100,000トークンで、プロンプトと補完の両方で共有されます。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これでセットアップは完了です。