なぜ uncensored モデルはプロンプトをまだ拒否するのか
特定のハードリミットがあるため、完全にアンセンサードではありません。プロンプトのスタイルに関係なく、未成年者との性的コンテンツに関するリクエストには拒否反応を示します。それ以外、つまりNSFWロールプレイ、論争的な話題、生データなどはコンテンツフィルタなしで処理されます。これは複雑なモデレーションレイヤーではなく、単一で透明なルールです。
開発者はこれをバグと誤解しがちです。プロンプトが合法的な成人コンテンツである場合、拒否はトリガーされるべきではありません。モデルは自由のために調整されていますが、その硬直した線は維持されます。ロールプレイや創作小説がその境界内に留まることを確保し、あなたが目にする唯一の拒否を避けてください。
curl https://api.unfilteredcodingai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix the null pointer error in this Java method"}]
}'- プロンプトに未成年者関連のコンテンツが含まれていないか確認してください。
- モデルIDが「uncensored」に設定されていることを確認してください。
- リクエストが1分あたり300件の制限に達していないことを確認してください。
10万トークン・コンテキストウィンドウの制限事項について
100,000トークンのコンテキストウィンドウにはプロンプトと補完の両方が含まれます。長い出力はウィンドウをすぐに消費するため、このスペースを慎重に管理する必要があります。大規模なコードベースを入力として送信した場合、モデルの応答のための余地が少なくなります。これは柔軟な提案ではなく、厳格な制限です。
開発者はしばしば、入力データのトークン数を過小評価しがちです。システムプロンプトやユーザーメッセージのすべての文字が、100kの合計制限にカウントされます。この制限を超えるとリクエストは失敗します。GET /v1/modelsエンドポイントを使用して現在の制限を確認し、トークン使用量を適切に計画してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredcodingai.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)- 送信前に入力トークンをカウントします。
- 少なくとも2,048トークンの出力領域を確保してください。
- 必要に応じてシステムプロンプトをトリムしてください。
SSEとトークンカウントに関するストリーミングの問題の修正
Server-Sent Events (SSE)では、最終チャンクの慎重な処理が必要です。最終チャンクには課金に不可欠な合計トークン使用量データが含まれています。これを無視すると、クレジットの使用状況を把握できなくなる可能性があります。これはプリペイドクレジットシステムにおいて重要です。
開発者はしばしばストリームを正しく解析しません。使用データを見逃したり、部分的な行の処理に失敗したりする可能性があります。クライアントコードがストリームが閉じるまで読み取ることを確認してください。これにより、完全な応答と正確なトークンカウントが得られ、請求の不一致を防ぎ、スムーズな再生を保証します。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)- 「done」イベントをリッスンします。
- 最終チャンク内の使用データを解析します。
- 部分的な行を適切に処理します。
uncensored LLMにおける関数呼び出しのエラー
関数呼び出しのエラーは、無効な JSON や欠落したツール定義に起因することが多いです。モデルは提供されたスキーマを厳密に遵守する必要があります。スキーマが曖昧な場合、モデルは引数を幻視する可能性があります。これにより、クライアント側で解析エラーが発生します。
ツール定義は正確にしてください。厳密な構造が必要な場合はJSONモードを使用してください。関数呼び出しは強力ですが、注意深いセットアップが必要です。クライアントコードがモデルの出力を正しく解析できることを確認してください。これにより、ランタイムエラーを回避し、スムーズな統合を実現します。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredcodingai.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);- 明確なスキーマを持つツールを定義します。
- パースする前にモデルの出力を検証します。
- エラーを適切に処理してください。
構造化データ生成時のJSONモードの失敗
JSONモードの失敗は、モデルが有効なJSONを出力しない場合に発生します。response_formatをjson_objectに設定しても、モデルはマークダウン形式や余分なテキストを追加する可能性があります。これは純粋なJSONを期待するパーサーを壊します。処理する前に常に出力を検証してください。
JSONモードパラメータを使用して厳格な出力を強制してください。これにより、データ形式の誤りが生じる可能性が減少します。エラーが継続する場合は、モデルのtemperature設定を確認してください。温度を下げると、より一貫性のあるJSONが生成されやすくなります。これにより、アプリケーションでの信頼性の高いデータ抽出が保証されます。
curl https://api.unfilteredcodingai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix the null pointer error in this Java method"}]
}'- response_formatをjson_objectに設定します。
- 解析前に出力を検証します。
- 一貫性のための温度調整。
アンセンサード生成用のTemperatureとtop_p設定
温度設定を高くすると創造性は高まりますが、精度は低下します。アンセンサードモデルはこれらのパラメータに敏感です。正確なコード出力が必要な場合は、温度を低く設定してください。クリエイティブなライティングには、高い温度がバリエーションをもたらします。ユースケースに応じてこれらの設定を調整してください。
top_pは出力の多様性を制御します。低いtop_p値は出力をより決定論的にします。これはコード生成に役立ちます。高い値はより創造的な探索を可能にします。ニーズに合った適切なバランスを見つけるために両方を試してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredcodingai.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)- 創造性と精度のバランスを調整するための温度値を設定します。
- 多様性のためのtop_pを調整します。
- 異なる組み合わせをテストします。
大規模入力の処理:8MBのリクエストボディ制限
8MBのリクエストボディ制限はHTTPリクエスト全体に適用されます。これにはヘッダー、モデルID、メッセージコンテンツが含まれます。入力がこの制限を超えると、リクエストは失敗します。これはソフトな制限ではなく、ハードな制約です。
開発者は、サイズを確認せずに大きなファイルや長いテキストを送信することがよくあります。必要に応じて入力を圧縮してください。非常に大きなデータセットにはチャンキング戦略を使用してください。これにより、リクエストが8MBの制限内に収まることが保証されます。予期せぬ失敗を防ぎ、信頼性を向上させます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredcodingai.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);- 送信前にリクエストサイズを確認してください。
- 必要に応じて大規模な入力を圧縮します。
- 大量データセットにはチャンキングを使用します。
プライバシーのために暗号通貨のみでの支払いが重要な理由
TRC20上のUSDTまたはBase上のUSDCによる暗号通貨決済は最大限のプライバシーを保証します。これは匿名性を重視する開発者に最適です。前払いクレジットシステムは透明で公平です。
使用した分に対して課金されます。エラーと拒否は無料です。つまり、実際のトークン使用量に対してのみ課金されます。前払いクレジットの有効期限はないため、必要なときにいつでも使用できます。
OpenAIからの移行:よくあるエンドポイントミス
OpenAIからの移行は、APIがOpenAI互換であるため簡単です。ただし、よくあるミスとしては、間違ったベースURLやモデルIDを使用することが挙げられます。クライアントを正しいエンドポイントにポイントしてください。モデルIDは「uncensored」に設定する必要があります。
設定を注意深く確認してください。ベースURLはHTTPS://api.unfilteredcodingai.com/v1です。これは公式のOpenAI SDKで動作します。サードパーティのクライアントを使用する場合は、カスタムベースURLをサポートしていることを確認してください。これにより、既存の設定からのスムーズな移行が保証されます。
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredcodingai.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)- Base URLを新しいエンドポイントに変更します。
- モデル id を "uncensored" に設定します。
- シンプルなリクエストでテスト。