مستندات API
برنامه Python یا Node.js خود را در کمتر از یک دقیقه به یک LLM بدون سانسور متصل کنید. از endpointهای سازگار با OpenAI برای تولید متن بدون رد محتوای غیراخلاقی استفاده کنید.
شروع سریع: اولین درخواست با Python یا JS
ارسان اولین پرامپت و دریافت خروجی متنی خام بلافاصله. API پیکربندیهای استاندارد chat-completion را میپذیرد، بنابراین میتوانید URL پایه و کلید خود را جایگزین کنید تا بدون بازنویسی منطق خود شروع به تولید محتوای uncensored کنید. از دستور cURL زیر برای بررسی اتصال و در دسترس بودن مدل قبل از یکپارچهسازی در کد خود استفاده کنید.
این درخواست اولیه تأیید میکند که اندپوینت قابل دسترسی است و توکن احراز هویت شما معتبر است. سپس میتوانید منطق برنامه خود را با استفاده از بستههای SDK ارائهشده بسازید.
curl https://api.chatunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the three main endpoints for user authentication"}]
}'
احراز هویت و URL پایه
احراز هویت با ارسال کلید API خود در هدر HTTP. تمام درخواستها باید به URL پایه ارسال شوند https://api.chatunrestricted.com/v1 برای اطمینان از سازگاری با SDKهای OpenAI. میتوانید کلید خود را بهصورت فوری از طریق داشبورد با اعتبارنامههای Google یا ایمیل ایجاد کنید، بدون نیاز به شماره تلفن.
کلید API حساب شما را شناسایی میکند و مصرف توکن را در برابر موجودی پیشپرداخت شما ردیابی میکند. این کلید را امن نگه دارید، زیرا دسترسی مستقیم به اعتبار شما را فراهم میکند. برای هر حساب فقط یک کلید فعال مجاز است؛ ایجاد یک کلید جدید به طور خودکار کلید قبلی را نامعتبر میکند.
POST /v1/chat/completions
متن را با ارسال یک درخواست POST به نقطه پایانی تکمیلهای چت تولید کنید. شناسه مدل uncensored, که یک مدل با وزن باز را اجرا میکند که برای پاسخ دادن بدون رد محتوای بزرگسالان قانونی بهینهسازی شده است. میتوانید طول خروجی، تصادفی بودن و شرایط توقف را از طریق پارامترهای استاندارد کنترل کنید.
این اندپوینت از پاسخهای استریم، فراخوانی تابع و حالت JSON پشتیبانی میکند. از امبدینگ، تصاویر یا فاینتیونینگ پشتیبانی نمیکند. برای عملکرد بهتر در وباپلیکیشنها، از SDK پایتون برای مدیریت درخواست به صورت ناهمزمان استفاده کنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatunrestricted.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)
GET /v1/models
لیست مدلهای موجود را برای تأیید ساختار API بازیابی کنید. پاسخ شامل uncensored شناسه مدل، که باید در درخواستهای تکمیل خود مشخص کنید. این نقطه پایانی به شما کمک میکند تأیید کنید که سرویس آنلاین است و شناسه مدل تغییر نکرده است.
از این اندپوینت برای اشکالزدایی مشکلات اتصال قبل از ارسال درخواستهای پرهزینه تولید استفاده کنید. این اندپوینت متادیتای مدل سازگار با OpenAI استاندارد، از جمله شناسه مدل و نوع شیء را برمیگرداند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatunrestricted.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);
پارامترها: دما، Top P، Seed
تصادفی بودن و قطعی بودن خروجیهای خود را با استفاده از پارامترهای نمونهبرداری استاندارد کنترل کنید. تنظیم temperature بین 0 و 2 برای تنظیم خلاقیت، و از top_p برای محدود کردن نمونهبرداری هستهای. The seed پارامتر به شما امکان تولید خروجیهای خاص برای اشکالزدایی یا سناریوهای نقشآفری ثابت را میدهد.
این پارامترها مستقیماً بر نحوه تولید متن توسط مدل تأثیر میگذارند. دماهای بالاتر پاسخهای متنوعتری تولید میکنند، در حالی که دماهای پایینتر خروجی را متمرکزتر و قابل پیشبینیتر میسازند. از stop sequences برای توقف تولید در نشانگرهای خاص.
استریم، ابزارها و حالت JSON
پاسخها را در زمان واقعی با استفاده از رویدادهای ارسالی سرور (SSE) برای تأخیر کمتر جریان دهید. حالت JSON را با تنظیم response_format به json_object برای استخراج داده ساختاریافته. فراخوانی ابزار برای اجرای تابع پشتیبانی میشود و به مدل اجازه میدهد 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)
محدودیتهای نرخ و صورتحساب
محدودیتهای نرخ را پایش کنید تا از وقفه در سرویس در طول استفاده با حجم بالا جلوگیری کنید. API محدودیت 300 درخواست در دقیقه و محدودیت همزمانی 8 درخواست همزمان به ازای هر کلید را اعمال میکند. حداکثر اندازه بدنه درخواست 8 مگابایت است.
صورتحساب پیشپرداخت است و بر اساس مصرف واقعی توکن محاسبه میشود. خطاها و رد شدنها اعتبار مصرف نمیکنند. اگر خطای 401 دریافت کردید، کلید API شما نامعتبر است. خطای 402 نشاندهنده اعتبار ناکافی است، در حالی که خطای 429 به این معنی است که از محدودیت نرخ عبور کردهاید. پنجره زمینه 100,000 توکن برای پرامپت و تکمیل ترکیبی پشتیبانی میکند.
سوالات متداول
چگونه خطاهای API را در برنامه خود مدیریت کنم؟
کد وضعیت HTTP را بررسی کنید تا مشکل را تعیین کنید. خطای 401 به این معنی است که کلید API شما نامعتبر یا ناموجود است. خطای 402 نشان میدهد که اعتبار پیشپرداخت شما تمام شده است. خطای 429 نشان میدهد که از محدودیت نرخ 300 درخواست در دقیقه فراتر رفتهاید.
محدودیت پنجره زمینه چیست؟
پنجره زمینه (context window) تا ۱۰۰,۰۰۰ توکن برای ورودی و خروجی ترکیبی پشتیبانی میکند. حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است، یا ۲,۰۴۸ توکن اگر پارامتر max_tokens بهطور صریح تنظیم نشده باشد.
آیا API پاسخهای استریمشده را پشتیبانی میکند؟
بله، API از پخش زنده از طریق رویدادهای ارسالشده توسط سرور (SSE) پشتیبانی میکند. هر قطعه شامل متن جزئی است و قطعه نهایی شامل کل استفاده از توکن برای درخواست است. این امکان نمایش بلادرنگ متن تولید شده را در برنامه شما فراهم میکند.
کلید API خود را تولید کنید
ثبتنام کنید، کلید خود را کپی کنید و آدرس پایه خود را بهروز کنید. همینها برای انجام کار کافی است.