نصب و پیکربندی
ابتدا SDK رسمی برای زبان مورد نظر خود را نصب کنید. کلاینت تنها به کلید API و URL پایه صحیح برای هدایت درخواستها به سرورهای ما نیاز دارد. این راهاندازی با هر کلاینت استاندارد سازگار با OpenAI کار میکند.
متغیرهای محیطی را پیکربندی کنید یا آنها را مستقیماً به سازنده مشتری ارسال کنید. نیازی به مدیریت منطق مسیریابی پیچیده یا سوئیچ بین چندین مدل ندارید. مدل بدون سانسور واحد تمام درخواستها را مدیریت میکند.
- پکیج را از طریق مدیر بسته خود نصب کنید.
- کلید API را از داشبورد خود تنظیم کنید.
- کلاینت را به نقطه پایدار API تنظیم کنید.
انجام اولین درخواست
یک درخواست POST به نقطه پایانی تکمیل چت ارسال کنید و شناسه مدل را روی "uncensored" تنظیم کنید. این کار یک پاسخ متنی مستقیم از مدل برمیگرداند و از فیلترهای محتوایی استاندارد عبور میکند. میتوانید promptهای ساده یا دستورالعملهای سیستمی پیچیده ارسال کنید.
API پارامترهای استاندارد مانند دما و top_p را میپذیرد. از دستور cURL زیر برای بررسی اتصال و کیفیت پاسخ بلافاصله استفاده کنید.
curl https://api.chatbotunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fetch current temperature in Tokyo."}]
}'این پاسخ تأیید میکند که مدل فعال است و برای ترافیک عملیاتی آماده است.
مدیریت پاسخهای جریانسازی
با تنظیم پارامتر stream روی true، قابلیت streaming را فعال کنید. API یک جریان رویدادهای ارسالی سرور (SSE) برمیگرداند که توکنها را همانطور که تولید میشوند تحویل میدهد. این کار تأخیر ادراکشده را برای کاربران نهایی به شدت کاهش میدهد.
بخشهای 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)مشتری خود را طوری پیکربندی کنید که رویداد پایان استریم را به درستی مدیریت کند.
استفاده از ابزارها و فراخوانی تابع
ابزارها را در درخواست خود تعریف کنید تا به مدل اجازه دهید دادههای ساختاریافته خروجی دهد. تعاریف ابزار را در آرایه tools ارسال کنید و tool_choice را برای انتخاب خودکار مشخص کنید. مدل فراخوانیهای تابع را در محتوای پاسخ برمیگرداند.
آرگومانهای تابع را تجزیه و در کد خود اجرا کنید. سپس نتایج را در پیام بعدی به مدل بازگردانید. این چرخه به کارهای چندمرحلهای پیچیده بدون منطق تجزیه خارجی اجازه میدهد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatbotunrestricted.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);همیشه طرحواره خروجی را قبل از اجرا اعتبارسنجی کنید.
مدیریت توکنها و محدودیتها
پنجره زمینه (context window) تا ۱۰۰,۰۰۰ توکن را برای ترکیب پرامپت و تکمیل (completion) پشتیبانی میکند. هر درخواست میتواند تا ۱۶,۰۰۰ توکن خروجی دهد، یا ۲,۰۴۸ اگر max_tokens حذف شود. مصرف خود را از طریق شمارش توکنها در پاسخ پایش کنید.
محدودیتهای نرخ اجازه ۳۰۰ درخواست در دقیقه و ۸ درخواست همزمان به ازای هر کلید را میدهند. تجاوز از این محدودیتها باعث خطای 429 میشود. کلید خود را منحصر به فرد برای هر حساب نگه دارید تا از اشتراکگذاری محدودیتها جلوگیری کنید.
خطاهایی مانند 401 نشاندهنده کلید نامعتبر هستند، در حالی که 402 به معنای نیاز به اعتبار بیشتر است. رد شدنها برای نقضهای جزئی محتوا رایگان هستند و توکن مصرف نمیکنند.
مدیریت خطا و عیبیابی
خطاهای HTTP را به صورت ایمن در منطق برنامه خود مدیریت کنید. وضعیت 401 به معنای نادرست یا منقضی شده بودن کلید API شماست. برای اطمینان از فعال بودن کلید، داشبورد خود را بررسی کنید.
خطای وضعیت ۴۰۲ نشاندهنده اعتبار پیشپرداخت ناکافی است. با USDT یا USDC شارژ کنید تا خدمات از سر گرفته شود. خطای ۴۲۹ نشان میدهد که به محدودیت نرخ دسترسی پیدا کردهاید. صبر کنید و با بازگشت نمایی (exponential backoff) دوباره تلاش کنید.
بدنههای درخواست نامعتبر خطای 400 برمیگردانند. ساختار JSON خود را با مشخصات API مطابقت دهید. این خطاها رایگان هستند و از موجودی شما کسر نمیکنند.
پایتون
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotunrestricted.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)