نصب و راهاندازی
ابتدا با ایجاد حساب کاربری شروع کنید تا کلید API خود را دریافت کنید. با حساب گوگل یا ترکیبی از ایمیل و رمز عبور ثبتنام کنید. سیستم کلید منحصربهفرد شما را بلافاصله روی صفحه نمایش میدهد. برای این مرحله نیازی به تأیید شماره تلفن نیست. میتوانید در هر زمان کلید جدیدی تولید کنید، اما برای هر حساب فقط یک کلید فعال وجود دارد. کلید جدید، کلید قبلی را بلافاصله جایگزین میکند. این کلید را ایمن نگه دارید زیرا دسترسی به اعتبارات پیشپرداخت شما را فراهم میکند. از این اعتبارات با هر SDK سازگار با OpenAI استاندارد برای شروع یکپارچهسازی استفاده کنید.
پیکربندی پایه
مشتری خود را به URL پایه اختصاصی ما برای درخواستهای بدون سانسور هدایت کنید. از استاندارد BASE_URL پارامتر برای مسیریابی صحیح ترافیک. ساختار نقطه پایانی از کنوانسیونهای OpenAI برای سوئیچینگ آسان تقلید میکند. باید کلید API خود را در Authorization header. شناسه مدل را روی uncensored در شیء پیکربندی خود. این اطمینان حاصل میکند که درخواست به مدل زبانی بزرگ uncensored صحیح هدف قرار میگیرد. اتصال خود را با فهرست کردن مدلهای موجود از طریق /v1/models نقطه پایانی. این تأیید میکند که احراز هویت شما قبل از ارسال بارهای سنگین معتبر است.
ارسال درخواستها
یک درخواست POST استاندارد به endpoint تکمیل چت ارسال کنید. پیلود شما باید شامل model field set to uncensored. پیامهای خود را در یک آرایه زیر messages کلید. سیستم تعاریف نقش استاندارد مانند user و assistant. توکنهای ورودی با نرخ شفاف 0.15 دلار به ازای هر میلیون توکن شارژ میشوند. توکنهای خروجی 0.50 دلار به ازای هر میلیون توکن هزینه دارند. خطاها اعتبار از پیش پرداخت شده شما را مصرف نمیکنند. این مدل صورتحساب تضمین میکند که شما فقط برای متن تولید شده واقعی پرداخت میکنید. از دستور cURL زیر برای ارسال اولین پیام خود استفاده کنید.
پاسخهای استریم
استریمینگ را با تنظیم stream به true در درخواست خود. سرور یک جریان Server-Sent Events (SSE) برمیگرداند. هر قطعه شامل بخشی از متن تولید شده است. قطعه نهایی شامل آمار کامل استفاده از توکن است. این به شما امکان میدهد متن را به صورت بلادرنگ به کاربران نمایش دهید. استریم در تمام SDKهای پشتیبانی شده به یک شکل کار میکند. اطمینان حاصل کنید که کلاینت شما بافتارهای متن جزئی را به درستی مدیریت میکند. از این روش برای تولید محتوای طولانی یا رابطهای چت تعاملی استفاده کنید. مثال زیر نحوه مدیریت استریم در Python را نشان میدهد.
Function Calling
ابزارها را در درخواست خود با استفاده از tools پارامتر. مدل فراخوانیهای ابزار ساختاریافته را در صورت مناسب بودن بازگردانی میکند. میتوانید مشخص کنید tool_choice برای اجبار به رفتار خاص. پاسخ ابزار را برای پردازش بیشتر به مدل بازگردانید. این از جریانهای کاری پیچیده که نیاز به تعامل با APIهای خارجی دارند پشتیبانی میکند. مدل فرمتبندی JSON را هنگام نیاز بهطور خودکار مدیریت میکند. اطمینان حاصل کنید که تعاریف تابع با طرحواره مورد انتظار مطابقت دارد. این ویژگی در کنار تنظیمات دمای (temperature) و top-p استاندارد کار میکند. از Node.js برای پیادهسازی کارآمد مدیریت ابزار استفاده کنید.
حالت JSON و محدودیتها
خروجی JSON دقیق را با تنظیم response_format به {"type": "json_object"}مدل ساختار JSON معتبر را در پاسخ تضمین میکند. این برای تجزیه دادهها در منطق برنامه شما ایدهآل است. به محدودیت پنجره زمینه ۱۰۰,۰۰۰ توکن توجه داشته باشید. این هم درخواست و هم تکمیل را پوشش میدهد. حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است. اگر مشخص نکنید max_tokens, محدودیت به طور پیشفرض ۲,۰۴۸ است. درخواستها به ۳۰۰ در دقیقه به ازای هر کلید محدود هستند. درخواستهای همزمان به هشت همزمان محدود شدهاند. بدنه درخواست نباید از ۸ مگابایت تجاوز کند. خطاها را به صورت خوشدست مدیریت کنید همانطور که در مثال پخش زنده زیر نشان داده شده است.
cURL
curl https://api.modelsuncensoredopenrouter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list three json keys"}]
}'پایتون
from openai import OpenAI
client = OpenAI(base_url="https://api.modelsuncensoredopenrouter.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.modelsuncensoredopenrouter.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 = 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)