最終更新日
Dolphin AIトラブルシューティング:一般的なAPI統合のミス
Dolphin AI integration failures usually stem from incorrect model IDs or misunderstanding how uncensored models handle context and streaming. This guide clarifies the specific technical constraints of our OpenAI-compatible API to prevent wasted credits and broken async workflows.
主なポイント
- モデルIDは厳密に"uncensored"であり、一般的なベンダー名ではありません。
- 入力トークンは100kのコンテキストを消費しますが、出力はリクエストあたり16kトークンに制限されます。
- SSEによるストリーミングは、ほとんどのUIでリアルタイムのトークン表示に必要です。
- JSONモードには、リクエストボディ内で明示的な response_format 設定が必要です。
「uncensored」を「フィルターが全くない」と仮定する
アンセーサードとはモデルに制限がないという意味ではありません。それは、標準的なモデルがブロックする可能性のある合法的な成人向け、論争的、または創造的なトピックをモデルが拒否しないことを意味します。当社のアンセーサードLLMは道徳論を交えずにあらゆるプロンプトを受け入れますが、未成年者に関する厳格なコンテンツ制限は依然として適用されます。
例えば、未成年者を含む性的なコンテンツをリクエストした場合、アンセンセード設定に関わらずAPIは拒否を返します。これは推論レイヤーで適用される厳格なルールです。他の合法的な大人向けコンテンツ(露骨なフィクションやニュアンスのある議論を含む)は、ソフトフィルターなしで通過します。
コンテキストウィンドウと最大出力トークンの混同
コンテキストウィンドウは100,000トークンですが、1リクエストあたりの最大出力は16,000トークンです。この区別は長文書の生成において重要です。90kトークンのプロンプトを送信して30kトークンをリクエストすると、リクエストが失敗するか、予期せず切り捨てられます。
- 最大コンテキスト: 100,000トークン(入力+出力合計)。
- 最大出力:1リクエストあたり16,000トークン。
- max_tokensが未設定の場合、デフォルトの出力は2,048トークンです。
常にAPI呼び出しでmax_tokensを明示的に設定してください。これにより、トークン使用量の暴走を防ぎ、予測可能な課金を確保します。これらの制限を超えるエラーはクレジットを消費しませんが、パースロジックを破綻させます。
非同期環境におけるストリーミング応答の無視
当社のAPIはServer-Sent Events (SSE) によるストリーミングをサポートしています。長時間の生成に同期クライアントを使用すると、タイムアウト制限に達する可能性があります。非同期環境では、単一の巨大なペイロードではなく、部分的なチャンクのストリームが期待されます。
各チャンクには最終ペイロードにトークン使用データが含まれます。これによりリアルタイムのコストを追跡できます。ストリーミングがない場合、重い生成中にUIが数秒間フリーズする可能性があります。使用
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) クライアント側の適切な処理を確認するためのブロック。
リクエスト本文に誤ったモデル ID を設定する
多くの開発者は、「gpt-3.5-turbo」または「gpt-4」をデフォルトにします。当社のAPIでは、モデルIDは正確に「uncensored」である必要があります。他のIDを送信すると、404またはモデルが見つからないエラーが発生します。これはGPTやClaudeのようなベンダー固有のモデルではありません。
インフラストラクチャ上で実行されるオープンウェイトモデルです。SDKの設定をHTTPS://api.dolphinmodelai.com/v1にポイントし、モデル名として"uncensored"を使用してください。これが私たちが提供する唯一のモデルです。
tool_choiceおよび関数呼び出し形式の設定を忘れる
関数呼び出しはサポートされていますが、形式はOpenAIの基準に一致する必要があります。強制ツール使用を望む場合は、tool_choiceを明示的に指定する必要があります。APIはtools、tool_choice、および標準のメッセージ形式を受け入れます。
ツール定義のフォーマットが正しくないため、クライアント側で解析エラーが発生します。JSONスキーマが有効であることを確認してください。モデルは構造化されたJSONを返し、コードで解析する必要があります。を使用して
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.dolphinmodelai.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); ツール定義の例のブロック。
入力と出力の価格の違いの誤解
入力トークンは1Mトークンあたり$0.15です。出力トークンは1Mトークンあたり$0.50です。出力は入力より4倍高価です。この比率はほとんどのLLM APIで標準的ですが、予算に大きな影響を与えます。
プリペイドクレジットは実際のトークン使用量に基づいて課金されます。エラーや拒否は無料です。10kトークンのプロンプトを送信して10kトークンの応答が返された場合、両方に対して課金されます。チャージには暗号通貨が必要です。TRC20上のUSDTまたはBase上のUSDCでチャージできます。最小チャージ額は$20です。ボーナスは$50(+5%)、$100(+10%)、$200(+15%)で適用されます。
JSONモードのエラーに対する応答形式の確認を行わない
JSONモードでは、response_format を {"type": "json_object"} に設定する必要があります。これを指定しないと、モデルはマークダウンやテキストを返し、パーサーを壊す可能性があります。これは統合失敗の一般的な原因です。
スキーマを厳密にしてください。スキーマが曖昧な場合、モデルは完全なJSONを保証しません。
from openai import OpenAI
client = OpenAI(base_url="https://api.dolphinmodelai.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) JSON出力を強制する方法を確認するためのブロック。これにより、ポストプロセスのオーバーヘッドが削減されます。
すべてのOpenAI SDKパラメータが同じように機能すると想定する
temperature、top_p、stop、seed、presence_penalty、frequency_penaltyはOpenAIと同様に動作します。ただし、すべてのエッジケースパラメータがサポートされているわけではありません。ほとんどのユースケースに必要なコアセットをサポートしています。
ストリーミング、関数呼び出し、JSONモードは完全にサポートされています。詳細は
curl https://api.dolphinmodelai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run unit tests for the payment module"}]
}' 基本リクエストのブロック。サポートされていないパラメータが静かに無視されるとは限らないと想定しないでください。エラーを引き起こす可能性があります。
8MBのリクエストボディの制限を見逃す
最大リクエストボディサイズは8 MBです。大きなファイルや広範なコンテキストを送信すると、この制限を超える可能性があります。これはAPIゲートウェイのハード制約です。このサイズを超えるリクエストは即座に拒否されます。
ペイロードを圧縮または切り詰めてください。
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) 大きなコンテキストを効率的に処理する方法を示す例。この制限はヘッダーとボディを含むリクエスト全体に適用されます。よくある質問
dolphinモデルAIは公式のGPT APIと同じですか?
いいえ。私たちは独立したサービスです。APIはOpenAI互換であり、同じエンドポイント構造とSDKを使用しますが、異なる無制限モデルを提供します。GPT、Claude、またはその他のベンダーのモデルではありません。使用するにはベースURLとモデルIDを変更する必要があります。
クレジットを追加するにはどうすればよいですか?
暗号通貨のみ対応:TRC20上のUSDTまたはBase上のUSDC。最小チャージ額は$20です。ボーナスは$50で+5%、$100で+10%、$200で+15%です。Googleまたはメールでサインアップしてキーを取得してください。
uncensored モデルは全てのコンテンツをフィルタリングしますか?
いいえ。ハードリミットは1つだけフィルタリングします:未成年者との性的コンテンツ。他のすべての法的な大人向け、論争的、またはクリエイティブなコンテンツは拒否なしで許可されます。これにより、NSFWコンテンツ作成や制限なしのフィクションに最適です。
トライアルクレジットとは何ですか?
新規アカウントには7日間有効な$0.50の試用クレジットが付与されます。1人あたり1回限りの提供です。試用中のエラーや拒否はクレジットを消費しません。
APIキーを取得
サインアップしてキーをコピーし、ベースURLを更新するだけです。完了です。