認証とベースURL
環境変数でベースURLとAPIキーを設定してください。APIはHTTPS://api.aiwithnofilter.com/v1にあり、標準的なOpenAI互換クライアントに対応しています。ダッシュボードでGoogleまたはメールでキーを生成し、ベアートークンとして渡してください。これにより、追加のヘッダーなしでリクエストが正しく認証されます。
curl https://api.aiwithnofilter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "generate a python function to parse json logs"}]
}'
最初の補完の送信
モデルID "uncensored"を使用して/v1/chat/completionsにPOSTリクエストを送信する。標準のJSON形式でシステムプロンプトとユーザーメッセージを送信する。APIは即時にテキストレスポンスを返し、アプリケーションロジックでそのまま使用できる。これはロールプレイ、クリエイティブライティング、または制限のないテキスト生成タスクすべてで機能する。
from openai import OpenAI
client = OpenAI(base_url="https://api.aiwithnofilter.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)
SSEによるストリーミングレスポンス
リクエストボディでstreamをtrueに設定してストリーミングを有効にします。APIはトークンが生成されるたびにサーバー送信イベント(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)
関数呼び出しとJSONモード
モデルが呼び出すことができる関数を定義するために tools パラメータを使用します。特定の動作を強制するかモデルに判断を任せるために tool_choice を渡します。response_format を json_object に設定して JSON モードを有効にし、厳密なスキーマ準拠を確保します。これにより、バックエンドサービスとの信頼性の高い統合のために構造化された出力が保証されます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiwithnofilter.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);
パラメータ: Temperature、Top P、Seed
温度で創造性を制御し、top_pで多様性を制御します。デバッグ中に再現可能な出力を得るためにシードを使用します。特定のマーカで生成を停止させるために停止シーケンスを設定します。これらのパラメータは、モデルを切り替えることなく、モデルの動作を正確に制御します。
1分あたり300リクエストの制限が適用されます。
トークン使用量と制限の理解
あなたのコンテキストウィンドウは合計100,000トークンで、プロンプトと補完を含みます。リクエストごとの最大出力は16,000トークンで、指定しない限りこの制限が適用されます。エラーや拒否はトークンを消費しないため、実際の使用分のみに対して課金されます。無効なキーの場合は401、残高不足の場合は402、レート制限の場合は429を適切に処理してください。
クレジットは期限切れにならず、無駄な資金の発生を防ぎます。