認証とベースURLのセットアップ
APIキーは当社のサーバーへのすべてのリクエストを認証します。Googleまたはメールアドレスでサインアップし、ダッシュボードからキーをコピーしてください。環境変数として DEEPSEEK_API_KEY クライアントを https://api.keyapideepseek.com/v1このベースURLは、標準的なOpenAI互換ライブラリと連携します。
curl https://api.keyapideepseek.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check the system health and confirm uptime status"}]
}'利用可能なモデルを一覧表示することで設定を確認できます。レスポンスにより、キーが有効でアクティブであることが確認できます。このステップにより、プロンプトを送信する前に、統合が正しいuncensoredエンドポイントに向いていることを確認できます。
チャット完了エンドポイント
The POST /v1/chat/completions エンドポイントはプロンプトを受け取り、モデルの応答を返します。メッセージ、システム指示、温度などのパラメータを含むJSONボディを送信します。モデルIDは常に uncensoredこの単一モデルはルーティングの複雑さなしですべてのテキスト生成ニーズを処理します。
from openai import OpenAI
client = OpenAI(base_url="https://api.keyapideepseek.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)Python SDKはHTTPリクエストを自動的に処理します。キーとベースURLをクライアントコンストラクタに渡します。残りのコードは標準的なOpenAIパターンを反映しています。これにより、後でベンダを変更してもアプリケーションロジック全体を書き換える必要がなくなります。
ストリーミングレスポンスとトークン使用量
streamをtrueに設定してストリーミングを有効にする stream: true リクエスト内。APIはチャンクからなる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)ストリーミングはユーザーにとっての知覚レイテンシーを低減します。トークンは到着次第表示できます。これは長文の生成やインタラクティブなチャットインターフェースにとって重要です。最後のチャンクでトークン使用量を監視し、プリペイドクレジットの消費を正確に追跡してください。
JSONモードと関数呼び出し
設定することで構造化出力を強制します response_format に {"type": "json_object"}モデルは自由形式のテキストの代わりに有効なJSONを返します。これはAPI統合やデータ抽出タスクに最適です。また、ツール使用のためにプロンプト内で関数定義を定義することもできます。
モデルは対応 tool_choice パラメータ。特定の関数を強制するか、モデルに判断を委ねるかを選択できます。この柔軟性により複雑なエージェントを構築できます。クライアントコードでの解析エラーを避けるため、関数スキーマは厳密に型指定してください。
レート制限と同時実行数
各APIキーは1分あたり300リクエストに制限されています。同時にアクティブなリクエストは最大8件まで可能です。リクエストボディの最大サイズは8 MBです。これらの制限は不正利用を防ぎ、全ユーザーに対して安定したパフォーマンスを保証します。これらの制限を超えると、429エラーが返されます。
クライアントコードで指数関数的バックオフを実装します。失敗したリクエストは短い遅延後にリトライしてください。これにより、一時的なネットワークの問題が適切に処理されます。前払いのクレジットは、レートリミットによるリトライではなく、成功した完了に対してのみ課金されます。
エラー処理と拒否
401エラーは、キーが無効または期限切れであることを意味します。402エラーは、前払いクレジットが不足していることを示します。429エラーはレート制限に達したことを示します。モデルは未成年者を含む性的コンテンツのリクエストを拒否します。その他の合法的な成人コンテンツは許可されています。
エラーレスポンスボディに詳細なメッセージが含まれているか確認してください。統合の問題をデバッグするためにこれらのエラーをログに記録してください。失敗したリクエストに対してはクレジットは消費されません。この透明な課金モデルにより、隠れた料金なしでコストを正確に予測できます。
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.keyapideepseek.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);