تنظیم احراز هویت و URL پایه
کلید API شما هر درخواستی را به سرورهای ما احراز هویت میکند. به سادگی با گوگل یا یک آدرس ایمیل ثبتنام کنید و کلید را از داشبورد خود کپی کنید. آن را به عنوان متغیر محیطی 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"}]
}'میتوانید تنظیمات خود را با فهرست کردن مدلهای موجود بررسی کنید. پاسخ تأیید میکند که کلید شما معتبر و فعال است. این مرحله اطمینان حاصل میکند که نقطه ادغام شما به endpoint بدون سانسور صحیح اشاره میکند قبل از اینکه درخواستها را ارسال کنید.
نقطه پایانی تکمیل چت
The POST /v1/chat/completions اندپوینت درخواست شما را میپذیرد و پاسخ مدل را برمیگرداند. شما یک بدنه JSON حاوی پیامها، دستورالعملهای سیستم و پارامترهایی مانند دما ارسال میکنید. شناسه مدل همیشه 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)SDK Python درخواستهای HTTP را به صورت خودکار مدیریت میکند. کلید و URL پایه را به سازنده کلاینت ارسال میکنید. بقیه کد الگوهای استاندارد OpenAI را بازتاب میدهد. این تضمین میکند که میتوانید ارائهدهندگان را بعداً بدون بازنویسی منطق کامل برنامه تغییر دهید.
پاسخهای استریم و مصرف توکن
استریمینگ را با تنظیم 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 و فراخوانی تابع
خروجی ساختاریافته را با تنظیم response_format به {"type": "json_object"}. مدل به جای متن آزاد، JSON برمیگرداند. این برای یکپارچهسازی API یا وظایف استخراج داده ایدهآل است. همچنین میتوانید تعاریف تابع را در پرامپت خود برای استفاده از ابزار تعریف کنید.
مدل پشتیبانی میکند tool_choice پارامترها. میتوانید توابع خاصی را مجبور کنید یا به مدل اجازه دهید تصمیم بگیرد. این انعطافپذیری به شما امکان میدهد عاملهای پیچیده بسازید. مطمئن شوید که اسکیمای توابع شما به دقت تایپ شده است تا از خطاهای تجزیه در کد کلاینت خود جلوگیری کنید.
محدودیتهای نرخ و همزمانی
هر کلید API محدود به ۳۰۰ درخواست در دقیقه است. میتوانید تا ۸ درخواست همزمان بهطور فعال داشته باشید. حداکثر اندازه بدنه درخواست ۸ مگابایت است. این محدودیتها از سوءاستفاده جلوگیری کرده و عملکرد پایدار را برای همه کاربران تضمین میکنند. تجاوز از این محدودیتها باعث خطای ۴۲۹ میشود.
در کد کلاینت خود از بازگشت نمایی استفاده کنید. درخواستهای ناموفق را پس از یک تأخیر کوتاه مجدداً ارسال کنید. این کار مشکلات موقت شبکه را به صورت منطقی مدیریت میکند. اعتبار پیشپرداخت شما فقط برای تکمیلهای موفق کسر میشود، نه برای درخواستهای مجددی که به دلیل محدودیت نرخ رد شدهاند.
مدیریت خطا و رد شدنها
خطای 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);