主要ポイント
- 無検閲とは、法的な大人向けトピックでの拒否が少ないことを意味し、ルールのないモデルを意味するわけではありません。
- この動作はリクエストで切り替えるスイッチではなく、モデルのトレーニングに由来します。
- 任意のOpenAI SDKが使用可能です:base URL、キーを変更し、モデルID uncensoredを使用します。
- 課金は従量制で、入力トークン1Mあたり$0.15、出力トークン1Mあたり$0.50です。
無検閲LLMの実際
ほとんどのチャット製品は言語モデルを拒否動作の複数の層でラップしています。その一部は重みに学習され、一部はシステムプロンプトであり、一部は入力と応答を読み取る別のフィルターです。無検閲LLMは、最初の層である学習された拒否がはるかに弱くなるように重みが調整されたモデルです。フィクションのダークなテーマ、率直な医療や法的トピック、一般的なアシスタントが拒否または弱める大人向け素材に回答します。
この用語は少し誤解を招きます。切断されたケーブルのようにモデルから何かが削除されたわけではありません。変化するのはトレーニングデータとチューニングステップです。ベースモデルは巨大なテキストコレクションから言語を学習します。後続の段階では、指示に従うこと、そして通常は長いリストの要求を拒否することを教えます。無検閲バリアントは、その拒否トレーニングの大部分をスキップするか、反対方向に押すチューニングを追加します。
このサイトの背後にあるサービスは、独立したプロバイダが運用するこの種のオープンウェイトモデルの1つを実行しています。大手ラボの公式APIではなく、ベンダー間で選択するルーターでもありません。標準的なチャット完了エンドポイントの背後に、IDがuncensoredの1つのモデルがあります。
無検閲が意味しないこと
それはモデルに制限がないことを意味するわけではありません。ここには1つの明確な線があります:未成年者を含む性的コンテンツは、常に禁止です。本サービスは法的な大人向け利用専用に構築されています。それ以外の用途にモデルが必要な場合は、これは適切なツールではありません。
モデルがより賢く、正直、または正確であることを意味するわけではありません。拒否が少ないモデルでも、間違いを犯し、知らない場合に事実を捏造し、プロンプトに同じ注意が必要です。拒否を削除すると、言う意思があるものが変わりますが、推論の質は変わりません。他のモデルと同様に出力を扱い、重要なものは確認してください。
最後に、自分の責任を放棄できることを意味するわけではありません。アプリを構築する場合、ユーザーが何を行えるかを決定し、居住する地域の法律に従う義務を負います。拒否しないモデルはガードのないツールなので、ガードは製品から来る必要があります。
拒否、遠回しな表現、道徳的言説は異なるものです
人々は3つの振る舞いをひとまとめにしてしまいがちです。拒否は「それについてはお手伝いできません」という明確な拒絶です。慎重な回答は免責事項に埋もれた回答です。道徳的言説は求められていない説教です。主流のアシスタントは同じトピックについてこれら3つすべてを頻繁に行うことがあります。無検閲モデルは通常、拒否と説教の大部分を省略するため、フィクション作家やロールプレイ開発者に好まれます:出力はシーンを離れてそれについてコメントするのではなく、キャラクターのままで維持されます。
動作の由来
モデルの拒否が少なくなる場合、その原因は4つの箇所のいずれかにあります。どちらが制御可能かを知ることは役立ちますが、それらのうち一部のみがあなたの制御下にあるためです。
- トレーニングデータとチューニング。 これが主な由来です。プロバイダがモデルを構築する際に固定され、APIからは変更できません。
- システムプロンプト。 これはあなたが制御します。役割、設定、トーンを設定する明確なシステムメッセージは、寛容なモデルでも回答を大きく変えます。
- サンプリング設定。 temperature と top_p はモデルが何を話題にするかを決定しませんが、テキストの多様性と一貫性を変えます。これらはモデルに渡されます。
- プラットフォームフィルター。 多くのホスト型APIはモデルの前にモデレーションレイヤーを追加します。このレイヤーが、基礎的な重みが回答してもリクエストが失敗する理由です。構築する前に、プロバイダがこれをどのように処理するかを確認してください。
実用的な帰結:別のモデルの出力を得るために「ジェイルブレイク」することはできません。メインストリームのアシスタントが拒否した場合、巧妙なプロンプトは次のアップデートまでしか役立ちません。無検閲モデルは、この問題を根本から回避します。
拒否が少ないことへの正当な用途
人々が拒否を少なくしたいという正直な理由は、ステレオタイプが示すよりも長いです。
- フィクションとワールドビルディング。小説は暴力、犯罪、悲しみ、残酷さを扱います。シーンを壊して警告するライティングアシスタントは、スリラーや戦争物語には役に立ちません。
- 大人向けのロールプレイおよびコンパニオンアプリ。 キャラクター主体のチャットでは、長時間のセッションを通じてキャラクターを維持し、独断的な意見を挟まずに会話を続けるモデルが必要です。
- 安全性とモデレーションテスト。コンテンツフィルタを構築するチームは、検出したいテキストの現実的な例が必要です。難しいケースを生成するモデルは、テストに役立ちます。
- 研究と分析。 過激派テキストの要約、プロパガンダの研究、または敏感な歴史の議論は、目的が明確であっても慎重なモデルのフィルターをトリガーすることがあります。
- 率直なアドバイストピック。 薬物、害の軽減、または法的なグレーエリアに関する質問には、免責事項の壁よりも直接的な回答が求められます。モデルが間違える可能性があることを覚えておき、医師や弁護士として扱わないでください。
これらはいずれも違法なものを必要とせず、ユーザーを大人として扱うモデルではすべてがより良く機能します。
呼び出し方法:ベースURL、キー、モデルID
APIはOpenAIのChat Completions形式に従っているため、2つの値を変更するだけで、任意のOpenAI SDKまたは互換クライアントが動作します。ベースURLはhttps://api.ornith.top/v1、キーはAuthorization: Bearerヘッダーに設定し、モデルIDはuncensoredです。利用可能なメソッドは2つあります:POST /v1/chat/completionsとGET /v1/modelsです。
キーが機能することを確認するために、単純なcurlリクエストから始めます:
curl https://api.ornith.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [
{"role": "system", "content": "You are a blunt editor for adult fiction."},
{"role": "user", "content": "Rewrite this scene so the villain sounds more menacing."}
]
}'
Pythonでは、公式のopenaiパッケージを使用し、新しいベースURLを指してください:
from openai import OpenAI
client = OpenAI(
base_url="https://api.ornith.top/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": "You write dark fantasy for adult readers."},
{"role": "user", "content": "Describe a siege from the point of view of a tired defender."},
],
temperature=0.9,
)
print(resp.choices[0].message.content)
Nodeでも同じです:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ornith.top/v1",
apiKey: process.env.API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me three bleak opening lines for a noir story." }],
stream: true,
});
for await (const chunk of resp) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
ストリーミングはstream: true付きのSSE経由で動作し、ツール呼び出しとJSONモードがサポートされており、コンテキストウィンドウはプロンプトと返信を合わせて10万トークンです。APIドキュメントには各パラメータとレスポンスヘッダが記載されており、X-Balance-USDには毎回の呼び出しで残りのクレジット残高が表示されます。
実際の数字でのコスト
料金は前払いクレジットからの従量制です:入力トークン1Mあたり$0.15、出力トークン1Mあたり$0.50。サブスクリプションはなく、失敗または拒否されたリクエストは課金されず、クレジットは期限切れになりません。
システムメッセージと履歴を含む2,000トークンのプロンプトと、500トークンの応答を含む典型的なチャットターンを取ります:
- 入力:2,000トークン、1Mあたり$0.15で$0.0003。
- 出力:500トークン、1Mあたり$0.50で$0.00025。
- 1ターンあたりの合計:$0.00055。
そのようなターン1,000件で$0.55かかります。$0.50の無料トライアルクレジットは、そのサイズの約900ターンをカバーするため、支払い前に書き込みの品質を判断するのに十分です。より重い作業、例えば月間10M入力トークンと2M出力トークンの場合、請求は$1.50プラス$1.00で、合計$2.50です。
チャージする際、$20から$500までの任意の整数額が機能し、$50からは5%、$100からは10%、$200からは15%のボーナスがあります。カード(Visa、Mastercard、Apple Pay、Google Pay)または暗号資産(TRC20上のUSDT、Base上のUSDC)で支払えます。完全な表については料金ページを参照してください。
試してオプションを選択
新規ユーザーは、Googleまたはメールとパスワードでサインインした後にAPIキーページでワンクリックで$0.50の無料トライアルクレジットを取得できます。カードは不要で、1人1回限り、7日間有効です。トライアルキーは2つの同時リクエストと1分あたり60件のリクエストを許可し、フルキーは8つの同時リクエストと1分あたり300件を許可します。APIキーを取得するには1分かかり、上記の例を実行できます。
ホストされたモデルが拒否を減らす唯一の方法ではありません。オープンウェイトモデルをダウンロードして独自のハードウェアで実行することもでき、これによりフルコントロールが得られ、オフラインで動作しますが、高性能GPUとセットアップのコストがかかります。当社のオープンソースLLM APIガイドはオプションとコストを比較しています。ハードウェアが不要で、アプリ用の安定したエンドポイント、誰も使用していないときにゼロにスケールする課金を求める場合は、ホストされたルートが優れています。
機密性の高いテキストを扱う方への注意点として、サービスに送信されるプロンプトは学習に使用されない点があります。詳細はプライバシーページをご覧ください。
