ベースURLと認証
提供されたベースURLとAPIキーを使用してAPIに接続します。このエンドポイントは、設定を更新するだけで標準のOpenAI SDKと互換性があります。アカウントごとに1つのアクティブなキーが提供され、サインアップ時にGoogleまたはメール経由で生成されます。このキーは、サービスに対して行うすべてのリクエストを認証します。
curl https://api.hubuncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a JSON object with user id and role"}]
}'キーは安全に保管してください。新しいキーを生成すると、以前のキーは即座に無効になります。これにより、残りの権限を残すことなく、プリペイドクレジットへのアクセスを常に制御できます。
チャット完了エンドポイント
テキスト生成のためにチャット完了エンドポイントにプロンプトデータを送信します。これはアプリケーションの主要なインターフェースであり、すべてのテキスト入力と出力を処理します。一貫した動作を保証するために、モデルを「uncensored」として指定する必要があります。APIはリクエストを処理し、生成されたテキスト応答を返します。
from openai import OpenAI
client = OpenAI(base_url="https://api.hubuncensored.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)401は無効なキーを示し、402はクレジットを追加する必要があることを示します。リクエストは実際のトークン使用量に基づいて課金されるため、エラーは残高を枯渇させません。
SSE経由のストリーミングレスポンス
サーバー送信イベント(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)コンテキストウィンドウはプロンプトと補完を合わせて合計100,000トークンを許容します。ストリーミングは、基礎となるトークン制限や料金体系を変更しません。
関数呼び出しとJSONモード
構造化された出力をワークフローに統合するために関数呼び出しを使用します。ツールとtool_choiceを指定してモデルのレスポンス形式をガイドします。また、response_formatパラメータを使用して厳格なJSONモードを強制し、信頼性の高い解析を実現します。これにより、アプリケーションは定義した正確な構造でデータを受け取ることが保証されます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hubuncensored.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);これらの機能は単一の検閲のないモデル内で動作します。モデルルーティングやベンダー間の選択はありません。制限のないコンテンツ向けにチューニングされた1つのオープンウェイトモデルに依存します。
パラメータ: Temperature, Top P, Stop
temperatureやtop_pなどの標準的なパラメータを使用して生成挙動を制御します。これらの値を調整して、出力の創造性と決定論的な挙動のバランスを取ります。stopパラメータを使用すると、特定のシーケンスで生成を停止できます。また、presence_penaltyやfrequency_penaltyを設定して出力スタイルを調整することもできます。
長い応答のためにmax_tokensを16,000に設定します。max_tokensを省略した場合、リクエストごとのデフォルトは2,048トークンです。これらの設定により、生成プロセスを精密に制御できます。
制限、エラー、コンテキストウィンドウ
スムーズな運用を確保するために厳格なレート制限に対して使用状況を監視してください。1分あたり300リクエスト、キーあたり8つの同時リクエストが許可されています。最大リクエストボディサイズは8 MBです。これらの制限を超えると、429レート制限エラーが返されます。これらの制約を理解することで、堅牢なリトライロジックを設計するのに役立ちます。
コンテキストウィンドウは合計で100,000トークンをサポートします。これには入力プロンプトと生成された補完の両方が含まれます。切り捨てやエラーを避けるために、トークン使用量を適切に計画してください。