احراز هویت و URL پایه
ابتدا URL پایه و کلید API را در پیکربندی کلاینت خود جایگزین کنید. سرویس ما از یک URL پایه واحد برای تمام درخواستها استفاده میکند که سازگاری با SDKهای موجود OpenAI را تضمین میکند. نیازی به مدیریت نقاط پایانی متعدد برای ویژگیهای مختلف ندارید. کلید خود را از طریق داشبورد با استفاده از گوگل یا ایمیل ایجاد کنید. این کلید را امن نگه دارید، زیرا دسترسی مستقیم به اعتبار پیشپرداخت شما را فراهم میکند.
کلید API در Authorization header. اگر کلید خود را گم کردید، کلید جدیدی در داشبورد ایجاد کنید که کلید فعال قبلی را جایگزین میکند. برای بازیابی حساب کاربری به شماره تلفنی نیاز نیست و این رویکرد ما را با تمرکز بر حریم خصوصی حفظ میکند. از URL پایه زیر برای تمام درخواستهای بعدی استفاده کنید.
URL پایه: https://api.norestrictedai.com/v1
POST /v1/chat/completions
پرامپت خود را به POST /v1/chat/completions اندپوینت برای دریافت پاسخ متنی. این تنها اندپوینتی است که برای تولید متن نیاز دارید. شناسه مدل uncensored. این یک مدل با وزن باز است که برای پاسخدهی بدون رد محتوای بزرگسالان قانونی بهینهسازی شده است. این مدل GPT یا Claude نیست. میتوانید پاسخها را به صورت استریم دریافت کنید یا آنها را در حالت JSON درخواست دهید. سیستم از فراخوانی تابع و پارامترهای استاندارد مانند دما و top_p پشتیبانی میکند.
درخواستها به صورت متن-ورودی، متن-خروجی پردازش میشوند. قابلیتهای embedding یا تولید تصویر وجود ندارد. اگر به آنها نیاز دارید، جای دیگری بگردید. تمرکز ما صرفاً بر تولید متن مستقیم با قیمتگذاری شفاف توکن است. خطاها و ردشدگیها (به جز محدودیت سخت محتوای کودکان) اعتبار شما را مصرف نمیکنند.
یکپارچهسازی SDK Python
از کتابخانه رسمی پایتون OpenAI برای ارتباط با API ما استفاده کنید. آدرس پایه و کلید API را در نمونه کلاینت خود تنظیم کنید. این روش به شما اجازه میدهد ساختار کد موجود خود را حفظ کرده و ارائهدهنده را تغییر دهید. کتابخانه به صورت خودکار سریالسازی JSON و درخواستهای HTTP را مدیریت میکند. میتوانید از همان نام مدلی که برای سایر خدمات استفاده میکنید بهره ببرید، اما به خاطر داشته باشید که شناسه مدل ما uncensored.
این روش برای سرویسهای بکاند و اسکریپها ایدهآل است. کتابخانه از عملیات همزمان و ناهمزمان پشتیبانی میکند. میتوانید مقادیر دما و top_p را برای کنترل خلاقیت تنظیم کنید. شیء پاسخ شامل متن تولید شده و آمار مصرف توکن است.
یکپارچهسازی Node SDK
API ما را در برنامههای Node.js خود با استفاده از SDK استاندارد OpenAI ادغام کنید. کلاینت را با URL پایه و کلید API خود پیکربندی کنید. این پیکربندی به طور بینقص با مسیرهای Express یا توابع serverless کار میکند. SDK چرخه حمله درخواست را مدیریت میکند، از جمله تلاش مجدد و مدیریت خطا. میتوانید پیامها را به صورت آرایهای از اشیاء role و content ارسال کنید.
این یکپارچهسازی برای برنامههای وب و میکروسرویسها عالی است. شیء پاسخ شامل محتوای تولید شده و دادههای استفاده است. میتوانید streaming را فعال کنید تا توکنها را به کلاینت همانطور که تولید میشوند ارسال کنید. این تأخیر ادراکشده برای کاربران نهایی را کاهش میدهد. SDK از تمام پارامترهای استاندارد تعریفشده در مشخصات API پشتیبانی میکند.
پاسخهای استریم (SSE)
با تنظیم stream پارامتر روی true. API یک جریان رویدادهای ارسالی سرور (SSE) برمیگرداند. هر قطعه حاوی یک پاسخ ناقص است. قطعه نهایی شامل کل مصرف توکن است. این ویژگی زمان تا اولین توکن را بهطور قابلتوجهی کاهش میدهد. این ویژگی برای رابطهای چت و برنامههای بلادرنگ ضروری است.
جریان تا زمانی که مدل پاسخ را تکمیل کند یا خطایی رخ دهد، ادامه مییابد. میتوانید جریان را در هر زمان لغو کنید. سرور پردازش درخواست را زمانی که کلاینت قطع اتصال میکند، متوقف میکند. این منابع محاسباتی را ذخیره میکند. از حالت جریاندار (streaming) برای ارائه تجربه کاربری روان استفاده کنید. استفاده از توکن در قطعه آخر به شما اجازه میدهد هزینهها را به دقت ردیابی کنید.
محدودیتهای نرخ و خطاها
API ما محدودیتهای نرخ سختگیرانه برای اطمینان از پایداری اعمال میکند. شما مجاز به ۳۰۰ درخواست در دقیقه به ازای هر کلید هستید. میتوانید ۸ درخواست همزمان همزمان داشته باشید. حداکثر اندازه بدنه درخواست ۸ مگابایت است. اگر از این محدودیتها تجاوز کنید، خطای 429 دریافت میکنید. خطاهایی مانند کلیدهای نامعتبر 401 را برمیگردانند. اعتبار ناکافی 402 را برمیگرداند. این خطاها اعتبار شما را مصرف نمیکنند.
پنجره زمینه ۱۰۰,۰۰۰ توکن برای ورودی و خروجی بهطور مشترک است. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است. اگر max_tokens را تنظیم نکنید max_tokens, حد ۲,۰۴۸ است. اعتبار از پیش پرداخت شده و هرگز منقضی نمیشود. خطاها رایگان هستند. اگر دوبار شارژ شدید، با پشتیبانی تماس بگیرید. سیستم پرامپتها را برای آموزش لاگ نمیکند. حریم خصوصی حفظ میشود. از بلوکهای کد زیر برای پیادهسازی این ویژگیها استفاده کنید.
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'پایتون
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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.norestrictedai.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)