آخرین بهروزرسانی
راهنمای یکپارچهسازی API کاراکتر AI
مهاجرت از Character AI به یک راهحل میزبانیشده یا مبتنی بر API به شما کنترل کامل بر زمینه، سبک و سانسور میدهد. این راهنما نحوه ادغام یک LLM بدون سانسور را که رابط کاربری چت آشنا را تقلید میکند اما سفارشیسازی عمیقتر و بدون هزینه اشتراک ماهانه ارائه میدهد، توضیح میدهد.
چرا Character AI را با یک API جایگزین کنیم؟
Character AI راحت است، اما شخصیتهای شما را در اکوسیستم خود قفل میکند. شما نمیتوانید پنجره زمینه کامل را ذخیره کنید، پارامترهای مدل را تغییر دهید یا اطمینان حاصل کنید که دادههای شما خصوصی باقی میمانند. یک راهحل API مانند هوش مصنوعی uncutly دسترسی مستقیم به یک LLM بدون سانسور به شما میدهد. شما کنترل روی پرامپتها، دما و توالیهای توقف را دارید. این یعنی شخصیتهای شما دقیقاً همانطور که میخواهید رفتار میکنند.
پلتفرمهای مالکیتی اغلب محتوایی که کاملاً قانونی است را رد میکنند. آنها ممکن است به دلیل یک کلمه کلیدی حساس، داستان را قطع کنند. با یک API چتبات بدون سانسور، شما تعیین میکنید چه چیزی مجاز است. شما یک نقطه پایانی قابل اعتماد و واحد برای تولید متن دریافت میکنید. این قابلیت اطمینان زمانی که محصولی میسازید که به رفتار کاراکتر ثابت وابسته است، حیاتی است. شما در معرض تصمیمهای سلیقهای تیم نظارتی یک پلتفرم نیستید.
مرحله 1: دریافت کلید API
ابتدا با ایجاد حساب کاربری در داشبورد ارائهدهنده شروع کنید. میتوانید با حساب گوگل وارد شوید یا از یک ایمیل و رمز عبور ساده استفاده کنید. نیازی به شماره تلفن نیست. پس از ثبتنام، به بخش کلید API بروید. سیستم بلافاهه یک کلید منحصربهفرد تولید میکند. این کلید را کپی کرده و بهطور ایمن در متغیرهای محیطی خود ذخیره کنید.
هر درخواست به endpoint chat-completions باید این کلید را در هدر شامل شود. اگر کلید موجود نباشد یا نامعتبر باشد، سرور خطای 401 را برمیگرداند. اعتبار آزمایشی کوچی دریافت میکنید تا یکپارچهسازی را قبل از هزینه کردن تست کنید. این اعتبار آزمایشی برای هفت روز معتبر است. راه خوبی برای اطمینان از عملکرد صحیح تنظیمات شماست.
مرحله ۲: URL پایه را پیکربندی کنید
اکثر کلاینتهای LLM مدرن انتظار یک رابط سازگار با OpenAI را دارند. شما باید SDK خود را به URL پایه صحیح اشاره دهید. برای این سرویس، نقطه پایانی https://api.uncutlyai.com/v1. ساختار این URL با API استاندارد OpenAI مطابقت دارد. به این معنی که میتوانید از کتابخانههای موجود بدون تغییرات عمده در کد استفاده کنید.
شیء پیکربندی خود را بهروزرسانی کنید تا این URL پایه را شامل شود. همچنین، کلید API را در هدر authorization تنظیم کنید. شناسه مدلی که استفاده خواهید کرد به سادگی "uncensored" است. این مدل برای کاهش رد شدنها و آزادی عمل خلاقانه بهتر تنظیم شده است. این مدل با زمینههای طولانی تا 100,000 توکن به خوبی کار میکند. این طول اجازه میدهد تا تاریخچههای عمیق شخصیتها مدیریت شوند.
مرحله ۳: اولین درخواست تکمیل چت خود را ارسال کنید
یک درخواست به /v1/chat/completions اندپوینت. بدنه باید شامل لیستی از پیامها باشد. هر پیام دارای نقشی مانند "system"، "user" یا "assistant" است. پیام سیستم شخصیت کاراکتر را تعریف میکند. پیامهای کاربر گفتگو را پیش میبرند.
اینجا نحوه ساختاردهی درخواست توضیح داده شده است:
curl https://api.uncutlyai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Show me the API endpoint for text generation"}]
}'این درخواست را ارسال کنید تا ببینید مدل چگونه پاسخ میدهد. سرور توکنها را پردازش میکند و یک تکمیل متنی برمیگرداند. میتوانید پارامترهایی مانند temperature برای کنترل خ creativite. مقادیر بالاتر شخصیت را غیرقابل پیشبینیتر میکند. مقادیر پایینتر آن را سازگارتر میکند. این انعطافپذیری به شما اجازه میدهد صدا را دقیقتر تنظیم کنید.
مرحله ۴: مدیریت پاسخهای استریمینگ
برنامههای چت اگر پاسخ کامل تا انتها منتظر بماند، کُند به نظر میرسند. استریم این مشکل را حل میکند. تنظیم کنید stream پارامتر را true تنظیم کنید. سربرگ سریالی از رویدادهای ارسالشده توسط سرور (SSE) برمیگرداند. هر رویداد حاوی یک قطعه کوچک از متن است.
کد مشتری شما باید این قطعات را تجزیه و تحلیل کرده و آنها را به صورت بلادرنگ نمایش دهد. این کار توهم تایپ کردن توسط یک انسان را ایجاد میکند. این موضوع به طور قابل توجهی تجربه کاربری را بهبود میبخشد. قطعه نهایی اغلب شامل آمار مصرف توکن است. میتوانید از این دادهها برای ردیابی دقیق هزینههای خود استفاده کنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.uncutlyai.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)اطمینان حاصل کنید که پردازنده استریم شما هر خطای شبکهای را دریافت کند. یک استریم شکسته میتواند رابط کاربری را در حالت بارگذاری قرار دهد. همیشه اتصال را زمانی که استریم تمام میشود یا شکست میخورد، ببندید.
مرحله ۵: مدیریت توکنها و هزینهها
درک هزینههای توکن برای بودجهبندی ضروری است. شما به ازای هر میلیون توکن پرداخت میکنید. توکنهای ورودی به ازای هر میلیون $0.15 هزینه دارند. توکنهای خروجی به ازای هر میلیون $0.50 هزینه دارند. شما فقط بابت توکنهای پردازششده پرداخت میکنید. خطاها هزینهای ندارند. رد شدنها نیز هزینهای ندارند.
این مدل پیشپردافت شفاف است. شما با ارز دیجیتال افزایش موجودی میدهید. حداقل افزایش موجودی $20 است. میتوانید هر بار $500 اضافه کنید. هیچ اشتراک ماهانهای وجود ندارد. اعتبار شما هرگز منقضی نمیشود. این قابلیت پیشبینی به شما کمک میکند تا هزینههای توسعه خود را برنامهریزی کنید. دقیقاً میدانید هر مکالمه چقدر هزینه دارد.
مرحله ۶: پیادهسازی فراخوانی تابع
شخصیتهای پیشرفته اغلب نیاز به تعامل با ابزارهای خارجی دارند. فراخوانی تابع به مدل اجازه میدهد دادههای ساختاریافته بازگرداند. شما یک طرح (schema) برای تابع تعریف میکنید. مدل بر اساس مکالمه تصمیم میگیرد که چه زمانی آن را فراخوانی کند.
برای مثال، یک شخصیت ممکن است نیاز به بررسی آبوهوا داشته باشد. شما تعریف تابع را در درخواست ارسال میکنید. مدل با یک شیء JSON شامل نام تابع و آرگومانها پاسخ میدهد. کد شما تابع را اجرا میکند و نتیجه را به مدل ارسال میکند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncutlyai.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ها محدودیتهایی دارند. میتوانید 300 درخواست در دقیقه ارسال کنید. فقط هشت درخواست میتوانند همزمان فعال باشند. بدنه درخواست باید کمتر از 8 مگابایت باشد. اگر از این محدودیتها تجاوز کنید، خطای 429 دریافت میکنید. در منطق تلاش مجدد خود از بازگشت نمایی (exponential backoff) استفاده کنید.
خطاهای شبکه را بهصورت ایمن مدیریت کنید. اگر سرور خطای 500 برمیگرداند، صبر کنید و دوباره تلاش کنید. هرگز فرض نکنید که مدل همیشه موفق خواهد بود. این خطاها را ثبت کنید تا الگوها را شناسایی کنید. زمانهای انتظار مکرر ممکن است نشاندهنده نیاز به تنظیم زمانهای انتظار شما باشد.
مرحله ۸: مقیاسبندی یکپارچهسازی خود
با رشد پایگاه کاربران، استفاده از API شما افزایش مییابد. مصرف توکن خود را به دقت پایش کنید. از دادههای استفاده در پاسخهای streaming برای ردیابی هزینهها استفاده کنید. اگر هزینههای بالایی مشاهده کردید، بهینهسازی پرامپتها را در نظر بگیرید. پرامپتهای سیستم کوتاهتر میتوانند توکنهای ورودی را کاهش دهند.
در نظر بگیرید که پاسخهای مکرر را کش (Cache) کنید. اگر چندین کاربر سوال یکسانی بپرسند، نتیجه کش شده را ارائه دهید. این تماسهای API را کاهش داده و صرفهجویی در هزینه ایجاد میکند. میتوانید محدودیت نرخ (Rate Limiting) را نیز در سرور خود پیادهسازی کنید. این از مصرف تمام اعتبار توسط یک کاربر خاص جلوگیری میکند. یک یکپارچهسازی مقیاسیافته به خوبی، سریع و قابل اعتماد باقی میماند.
پرسشهای رایج
آیا این مدل AI بدون سانسور واقعاً از رد شدنها (refusals) پاک است؟
مدل برای پاسخدهی بدون رد محتوا برای استفاده بزرگسالان قانونی بهینهسازی شده است. موضوعات جنجالی یا خلاق را مسدود نمیکند. با این حال، یک محدودیت سخت وجود دارد: محتوای جنسی مرتبط با کودکان همیشه رد میشود. این تنها محتوایی است که به طور پیوسته فیلتر خواهد شد.
آیا میتوانم از SDK رسمی OpenAI با این API استفاده کنم؟
بله. این API کاملاً با OpenAI سازگار است. میتوانید از SDKهای رسمی با تغییر URL پایه به HTTPS://api.uncutlyai.com/v1 و ارائه کلید API خود استفاده کنید. تمام پارامترهای استاندارد مانند temperature و top_p به صورت مورد انتظار کار میکنند.
چگونه برای اعتبارات API پرداخت کنم؟
شما میتوانید حساب خود را با استفاده از ارز دیجیتال شارژ کنید. ما USDT (TRC20) و USDC (Base) را میپذیریم. میتوانید هر مبلغ صحیحی از $20 تا $500 اضافه کنید. اعتبارات هرگز منقضی نمیشوند. هیچ هزینه ماهانه یا اشتراکی وجود ندارد.
اندازه پنجره زمینه چقدر است؟
مدل از پنجره زمینه ۱۰۰,۰۰۰ توکن پشتیبانی میکند. این شامل هر دو prompt و completion است. میتوانید تا ۱۶,۰۰۰ توکن در یک درخواست تولید کنید. اگر max_tokens را تنظیم نکنید، خروجی پیشفرض ۲,۰۴۸ توکن است.
کلید API خود را دریافت کنید
ثبتنام، کلید را کپی کنید، آدرس پایه را بهروز کنید. همین کافی است.