API LLM بدون سانسور را در چند دقیقه یکپارچه کنید
همین حالا شروع به ارسال پاسخهای بدون سانسور کنید با اشاره کلاینت SDK OpenAI موجود خود به URL پایه ما و تزریق کلید API.
نصب SDK رسمی OpenAI
ابتدا کتابخانه کلاینت را به محیط پروژه خود اضافه کنید. این امر سازگاری با فرمتهای درخواست استاندارد و پروتکلهای جریاندهی (streaming) را تضمین میکند و نیاز به منطق HTTP سفارشی ندارد.
پکیج هدرهای احراز هویت و سریالسازی JSON را بهطور خودکار مدیریت میکند. پس از رفع وابستگی در فضای کاری خود، میتوانید به پیکربندی بپردازید.
from openai import OpenAI
client = OpenAI(base_url="https://api.unlimitedllmapi.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)
پیکربندی base_url و کلید API
ترافیک مستقیم به نقطه پایانی ما با تنظیم base_url متغیر و تزریق کلید منحصر به فرد خود به نمونه کلاینت انجام دهید. این تغییر ساده درخواستها را به مدل uncensored بهینهسازی شده ما هدایت میکند بدون اینکه ساختار کد شما را تغییر دهد.
اتصال را با بررسی /v1/models نقطه پایانی. سیستم شناسه مدل موجود را برمیگرداند که تأیید میکند اعتبارنامههای شما معتبر است و مسیر شبکه باز است.
curl https://api.unlimitedllmapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list all available endpoints for user authentication"}]
}'
اولین درخواست تکمیل چت خود را ارسال کنید
یک پیکربندی استاندارد تکمیل گفتگو با شناسه مدل uncensored و آرایه پیامهای دلخواه خود ارسال کنید. API ورودی متنی را پردازش کرده و متن تولید شده را برمیگرداند و از پارامترهایی مانند temperature و top_p برای کنترل لحن.
اطمینان حاصل کنید که بدنه درخواست شما در محدوده ۸ مگابایت باقی بماند. سیستم اشیاء JSON استاندارد را میپذیرد و پاسخهای ساختاریافتهای را برمیگرداند که برنامه شما میتواند بلافاصله آنها را تجزیه کند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unlimitedllmapi.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);
مدیریت پاسخهای پخش زنده و استفاده از توکن
با تنظیم stream flag را روی true تنظیم کنید. این قطعات رویدادهای ارسالی سرور (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)
فعالسازی Function Calling و حالت JSON
خروجیهای ساختاریافته (Structured Outputs) را با تنظیم response_format به {"type": "json_object"}. این موضوع مدل را مجبور میکند تا JSON کاملاً معتبر بازگرداند که برای یکپارچهسازی قابل اعتماد با فرمهای فرانتاند یا سرویسهای بکاند ضروری است.
همچنین میتوانید در بدنه درخواست خود ابزارهایی تعریف کنید تا فراخوانی تابع را فعال کنید. مدل با نامهای تابع خاص و آرگومانها پاسخ میدهد، که به کد شما اجازه میدهد منطق خارجی را بر اساس قصد کاربر اجرا کند.
درک محدودیتهای نرخ و پنجرههای متن
کلید API شما از 300 درخواست در دقیقه و تا 8 درخواست همزمان پشتیبانی میکند. اگر از این آستانهها تجاوز کنید، سیستم تا زمان بازنشانی پنجره، خطای 429 را برمیگرداند.
پنجره زمینه امکان استفاده از ۱۰۰,۰۰۰ توکن را بهطور کلی فراهم میکند، شامل هر دو بخش پرامپت و تکمیل. خروجی به ۱۶,۰۰۰ توکن در هر درخواست محدود است، یا ۲,۰۴۸ توکن اگر مشخص نکنید max_tokens, خطاها و رد شدنها اعتبار مصرف نمیکنند.
سوالات متداول
چه چیزی باعث خطای 401 یا 402 میشود؟
خطای 401 نشاندهنده یک کلید API نامعتبر یا منقضی شده است. خطای 402 به این معنی است که موجودی اعتبار پیشپرداخت شما برای پوشش مصرف توکنهای درخواست جاری کافی نیست.
پنجره زمینه ۱۰۰,۰۰۰ توکنی چگونه کار میکند؟
محدودیت ۱۰۰,۰۰۰ توکنی به مجموع کل پرامپت ورودی و تکمیل تولیدشده اعمال میشود. میتوانید اسناد بزرگ ارسال کنید، اما مطمئن شوید که درخواست خروجی شما از حداکثر ۱۶,۰۰۰ توکن در هر درخواست تجاوز نمیکند.
آیا برای استریم باید کد خود را تغییر دهم؟
بله، باید به جای انتظار برای یک پاسخ JSON واحد، جریانهای رویدادهای ارسالی سرور (SSE) را مدیریت کنید. اکثر SDKهای رسمی یک تکرایشونده استریم ارائه میدهند که توکنها را به ترتیب تولید شده بازگردانی میکند.
کلید API شما یک مرحله تا دسترسی دارد
ثبتنام کنید، کلید را بردارید، و URL پایه را بهروز کنید. این تمام راهاندازی است.