شروع سریع: اولین درخواست شما
ارسان اولین پیام به مدل uncensored بلافاصله. از endpoint استاندارد chat-completions برای تولید متن استفاده کنید. مدل به پرامپتهای زبان طبیعی بدون ردشدگی محتوا برای استفاده بزرگسالان قانونی پاسخ میدهد. این پیکربندی با هر کلاینت سازگار با OpenAI کار میکند.
ابتدا SDK را برای زبان مورد نظر خود نصب کنید. سپس کلید API خود را پیکربندی کنید. مثال زیر یک درخواست curl پایه برای آزمایش اتصال را نشان میدهد.
میتوانید پارامترهایی مانند temperature را برای کنترل تصادفی بودن تنظیم کنید. پاسخ متن تولید شده را مستقیماً برمیگرداند. این جریان ساده به شما اجازه میدهد قبل از ساخت منطق پیچیده، عملکرد API را بررسی کنید.
curl https://api.apiaicharacter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API rate limit status?"}]
}'
URL پایه و احراز هویت
با استفاده از URL پایه اختصاصی برای این API متصل شوید. نقطه پایانی پیشفرض را با آدرس سرور میزبان ما جایگزین کنید. این تضمین میکند که درخواستهای شما مستقیماً به مدل بدون سانسور میرسند. احراز هویت بر اساس یک کلید API واحد به ازای هر حساب است.
کلید خود را از طریق داشبورد ایجاد کنید. آن را به عنوان توکن Bearer در هدر Authorization ارسال کنید. این روش با SDKهای استاندارد OpenAI سازگار است. میتوانید با تغییر فقط آدرس پایه و کلید، ارائهدهنده را تغییر دهید.
کلید خود را امن نگه دارید. این کار دسترسی کامل به اعتبار پیشپرداخت شما را فراهم میکند. کلید بلافاصله پس از تولید، هر کلید فعال قبلی را جایگزین میکند.
نقاط پایانی: تکمیل گفتگو
با مدل از طریق نقطه پایانی تکمیل گفتگو تعامل داشته باشید. این تنها نقطه پایانی تولید متن موجود است. پیامها را میپذیرد و متن تولید شده را برمیگرداند. هیچ embedding، تصویر یا صوتی پشتیبانی نمیشود.
یک درخواست POST به مسیر chat ارسال کنید. پیامهای سیستم و کاربر خود را در بدنه شامل کنید. مدل زمینه را پردازش کرده و پاسخی تولید میکند. میتوانید از حالت JSON برای خروجی ساختاریافته استفاده کنید.
فراخوانی تابع پشتیبانی میشود. ابزارها را تعریف کنید و بگذارید مدل تصمیم بگیرد چه زمانی از آنها استفاده کند. این انعطافپذیری اجازه میدهد تا جریانهای کاری پیچیدهی عاملها (Agents) ایجاد شود. پاسخ شامل محتوای تولید شده و مصرف توکن است.
from openai import OpenAI
client = OpenAI(base_url="https://api.apiaicharacter.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)
پارامترها: دما، Top P و Stop
سبک خروجی را با استفاده از پارامترهای استاندارد کنترل کنید. دما را برای تغییر خلاقیت تنظیم کنید. مقادیر پایینتر پاسخها را قطعیتر میکنند. مقادیر بالاتر تنوع بیشتری ایجاد میکنند.
از top_p برای فیلتر کردن کلمات کماحتمال استفاده کنید. این به حفظ انسجام در حالی که خلاقیت را اجازه میدهد کمک میکند. توالیهای stop را برای پایان تولید در نشانگرهای خاص تنظیم کنید. این برای کنترل ساختار گفتگو مفید است.
پارامتر seed اجازه میدهد نتایج قابل تکرار داشته باشید. هنگام اشکالزدایی پرامپتهای خود از آن استفاده کنید. این پارامترها به شما کنترل دقیقی بر رفتار مدل میدهند. آنها را برای تطبیق با نیازهای برنامه خود تنظیم کنید.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiaicharacter.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);
استریمینگ و استفاده از توکن
پاسخها را به صورت بلادرنگ با استفاده از رویدادهای ارسالی سرور دریافت کنید. استریم تأخیر ادراکشده را برای کاربران کاهش میدهد. 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)
محدودیتهای نرخ و محدودیتها
محدودیتها را درک کنید تا از وقفههای سرویس جلوگیری کنید. میتوانید 300 درخواست در دقیقه به ازای هر کلید ارسال کنید. درخواستهای همزمان به هشت درخواست همزمان محدود شدهاند. بدنه درخواست نباید از 8 مگابایت تجاوز کند.
خطاها را به شیوهای مناسب مدیریت کنید. وضعیت ۴۰۱ یعنی کلید شما نامعتبر است. وضعیت ۴۰۲ نشاندهنده اعتبار ناکافی است. وضعیت ۴۲۹ نشان میدهد که به محدودیت نرخ رسیدهاید.
پنجره زمینه (context window) از مجموعاً ۱۰۰,۰۰۰ توکن پشتیبانی میکند. این مقدار شامل هم ورودی (prompt) و هم خروجی (completion) است. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است. max_tokens را تنظیم کنید تا طول خروجی را کنترل کنید. خطاها رایگان هستند، بنابراین منطق تلاش مجدد (retry) ایمن است.
پرسشهای رایج
جایگزین API character.ai برای برنامههای بدون سانسور چیست؟
این API یک جایگزین LLM بدون سانسور برای ساخت برنامههای تحملکننده NSFW ارائه میدهد. از همان ساختار chat-completions API character.ai استفاده میکند اما کنترل مستقیم بر تعدیل و پرامپتها را فراهم میکند. میتوانید آن را با بهروزرسانی URL پایه در پروژههای موجود یکپارچه کنید.
چگونه محدود نرخها و خطاها را مدیریت کنم؟
Limits are 300 requests per minute and eight concurrent requests. Errors like 401 (invalid key) or 402 (no credit) require action. A 429 error means you should wait before retrying. Errors do not consume credit, so you can retry safely.
اندازه پنجره زمینه چقدر است؟
مدل از پنجره زمینه ۱۰۰,۰۰۰ توکنی پشتیبانی میکند. این مجموع شامل هم توکنهای ورودی و هم خروجی است. میتوانید حداکثر خروجی را ۱۶,۰۰۰ توکن مشخص کنید. این امکان مکالمات طولانی بدون از دست دادن زمینه را فراهم میکند.
کلید API خود را اکنون دریافت کنید
ثبتنام کنید، کلید خود را کپی کنید و آدرس URL پایه را بهروز کنید. این تمام پیکربندی مورد نیاز است.