مستندات API
همین حالا با API کاملشدن چت بدون سانسور ما شروع به تولید متن کنید. از SDKهای استاندارد OpenAI برای ارسال درخواستها به URL پایه ما با کلید API خود استفاده کنید.
احراز هویت و URL پایه
احراز هویت هر درخواست با ارسال کلید API خود در Authorization header. URL پایه برای تمام نقاط پایانی https://api.notfilter.cc/v1. این ساختار سازگاری با SDKهای موجود OpenAI را بدون تغییرات پیکربندی پیچیده تضمین میکند.
curl https://api.notfilter.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "what is the capital of france"}]
}'کلید شما دسترسی به مدل بدون سانسور را فراهم میکند. آن را امن نگه دارید و در صورت نفوذ، آن را مجدداً تولید کنید. سیستم اعتبارنامهها را قبل از پردازش توکنها اعتبارسنجی میکند، بنابراین کلیدهای نامعتبر بلافاصله خطا برمیگردانند.
نقطه پایانی تکمیل چت
پرامپتهای متنی ارسال کنید و پاسخها را از طریق /v1/chat/completions نقطه پایانی. این رابط اصلی شما برای تعامل با مدل است. پارامترهایی مانند temperature و top_p برای تنظیم رفتار پاسخ.
from openai import OpenAI
client = OpenAI(base_url="https://api.notfilter.cc/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)API انتظار دارد یک فرمت پیام استاندارد. متن ورودی به توکن تبدیل شده، پردازش و به عنوان یک پاسخ منسجم بازگردانده میشود. خطاها از طریق کدهای وضعیت HTTP استاندارد مدیریت میشوند.
پاسخهای استریم
فعالسازی خروجی بلادرنگ با تنظیم stream: true. 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)هر قطعه شامل محتوای جزئی است. قطعه نهایی شامل آمار استفاده از توکن میشود. این رویدادها را تجزیه کنید تا متن را بهتدریج به کاربران خود نمایش دهید.
فراخوانی تابع و ابزارها
ابزارها را تعریف کنید تا مدل بتواند توابع خارجی را فراخوانی کند. تعاریف ابزار را در بدنه درخواست مشخص کنید. مدل وقتی فراخوانی تابع مناسب باشد، آرگومانهای ساختاریافته را بازمیگرداند.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.notfilter.cc/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);تابع را با استفاده از آرگومانهای بازگشتی اجرا کنید و نتیجه را به مدل بازگردانید. این امکان ایجاد جریانهای کاری پیچیده بدون تجزیه دستی را فراهم میکند. انتخابهای ابزار میتوانند مجبور یا خودکار باشند.
حالت JSON
خروجی ساختاریافته را با تنظیم response_format به {"type": "json_object"}. این امر تضمین میکند که پاسخ JSON معتبر است. برای تجزیه دادهها در برنامهها مفید است.
مدل به schemaای که ارائه میدهید پایبند است. خطاها در ساختار JSON نادر اما امکانپذیر هستند. برای ایمنی، خروجی را در لایه برنامه خود اعتبارسنجی کنید.
محدودیتهای نرخ و context window
هر کلید API از ۳۰۰ درخواست در دقیقه و ۸ درخواست همزمان پشتیبانی میکند. پنجره زمینه (context window) ۱۰۰,۰۰۰ توکن برای ترکیب prompt و completion است. حداکثر خروجی ۱۶,۰۰۰ توکن است.
A 401 خطا نشاندهنده کلید نامعتبر است. یک 402 خطا به این معنی است که اعتبار پیشپرداخت شما تمام شده است. یک 429 خطا نشاندهنده اتمام محدودیت نرخ است. خطاها رایگان هستند، بنابراین برای درخواستهای ناموفق هزینهای از شما کسر نمیشود. اعتبار هرگز منقضی نمیشود.
سوالات متداول
آدرس پایه برای API Not Filter چیست؟
از HTTPS://api.notfilter.cc/v1 برای تمام درخواستها استفاده کنید. این URL با SDKهای استاندارد OpenAI کار میکند. URL پایه را در پیکربندی کلاینت خود تغییر دهید تا به اینجا اشاره کند.
چگونه پاسخهای جریان را مدیریت کنم؟
پارامتر stream را روی true در درخواست خود تنظیم کنید. API قطعاتی از متن را همانطور که تولید میشوند برمیگرداند. این قطعات را تجزیه کنید تا خروجی بلادرنگ را به کاربران نمایش دهید.
اگر به محدودیت نرخ برسم چه اتفاقی میافتد؟
کد وضعیت 429 دریافت میکنید. محدودیت 300 درخواست در دقیقه به ازای هر کلید است. کمی صبر کنید و دوباره تلاش کنید. برای درخواستهای محدود شده، هزینهای از شما کسر نمیشود.
کلید خود را اکنون دریافت کنید
ثبتنام، کلید را کپی کنید و endpoint را بهروز کنید. همین است.