سازگاری SDK و تنظیم URL پایه
> کد کلاینت موجود خود را با اشاره آن به نقطه پایانی اختصاصی ما متصل کنید. این openai compatible API هدرهای استاندارد و پیکربندیهای SDK را بدون تغییر کد میپذیرد. شما فقط نیاز دارید URL پایه را به روز کنید و کلید API خود را از داشبورد ارائه دهید.
https://api.openrouterratelimits.com/v1 نقطه ورود واحد برای تمام درخواستها است. احراز هویت از طرح استاندارد توکن Bearer که در بیشتر کتابخانههای LLM مدرن یافت میشود، استفاده میکند. کلید خود را در Authorization هدر برای احراز هویت هویت شما. این پیکربندی با هر کلاینتی که انتظار یک رابط سبک OpenAI را دارد کار میکند، که مهاجرت را برای تیمهایی که از قفلشدگی با ارائهدهنده خسته شدهاند، فوری میسازد.
- URL پایه:
https://api.openrouterratelimits.com/v1 - هدر Auth:
Authorization: Bearer YOUR_API_KEY - شناسه مدل:
uncensored
پاسخهای جریاندار با SSE
استریمینگ را با تنظیم stream: true در پیکربندی درخواست. API رویدادهای ارسالشده توسط سرور (SSE) را برای تحویل بلادرنگ توکن برمیگرداند. هر قطعه متن تولید شده را حاوی میشود تا زمانی که قطعه نهایی شامل آمار استفاده باشد. این رویکرد رابط کاربری شما را حتی برای پنجرههای زمینه طولانی پاسخگو نگه میدارد.
استریم برای رابطهای چت یا سناریوهای نقشآفرینی که در آنها تأخیر اهمیت دارد ایدهآل است. نیازی نیست برای نمایش متن منتظر تکمیل کامل پاسخ بمانید. قطعه نهایی همیشه شامل شمارش توکنها برای صورتحساب دقیق است. خطاهای حین استریم همچنان کدهای وضعیت HTTP مناسب را برمیگردانند تا مدیریت فوری امکانپذیر باشد.
فراخوانی تابع و حالت JSON
از خروجیهای ساختاریافته برای استخراج دادههای قابلاعتماد یا یکپارچهسازی ابزارها استفاده کنید. فعال کنید response_format با {"type": "json_object"} برای اجبار به انطباق JSON. این حالت برای پارس کردن ساختارهای تو در تو پیچیده بدون منطق پاکسازی اضافی ضروری است. فراخوانی تابع در کنار تولید متن استاندارد برای جریانهای کاری عاملهای پویا کار میکند.
ابزارهای خود را در tools آرایه و مشخص کردن tool_choice برای اجرا دقیق. مدل فراخوانیهای تابع را با فرمت استاندارد OpenAI برمیگرداند. این ویژگی از فراخوانیهای ابزار تکی و چندگانه در یک نوبت پشتیبانی میکند. از این برای ساخت عاملهایی استفاده کنید که به طور قابل اعتماد با APIها یا پایگاههای داده خارجی تعامل دارند.
مدیریت توکنها و پارامترها
رفتار تولید را با پارامترهای استاندارد مانند کنترل کنید temperature, top_p، و stop. پنجره زمینه از مجموعاً ۱۰۰,۰۰۰ توکن برای ورودی و خروجی پشتیبانی میکند. این امکان را فراهم میآورد تا زمینه تاریخی گسترده یا پردازش اسناد بزرگ را در یک درخواست واحد انجام دهید.
تنظیم max_tokens برای محدود کردن طول خروجی، که در صورت عدم مشخصسازی به 2,048 پیشفرض میشود. مدل presence_penalty و frequency_penalty برای کنترل سبک. مصرف توکن بر اساس تعداد واقعی ورودی و خروجی محاسبه میشود. خطاها توکن مصرف نمیکنند، که برای درخواستهای ناموفق، صورتحساب منصفانه را تضمین میکند.
درک محدودیتهای نرخ به ازای هر کلید
هر کلید API از ۳۰۰ درخواست در دقیقه با محدودیت همزمانی ۸ درخواست همزمان پشتیبانی میکند. این محدودیت در هر کلید اعمال میشود، بنابراین ایجاد کلیدهای متعدد پهنای باند شما را به صورت خطی مقیاس میدهد. حداکثر اندازه بدنه درخواست ۸ مگابایت است، که در پنجره زمینه برای بیشتر موارد استفاده جای میگیرد.
حد نرخها به صورت پیوسته بر اساس یک پنجره لغزنده بازنشانی میشود. اگر از حد تجاوز کنید، API خطای 429 برمیگرداند. اعتبار پیشپرداخت خود را ارتقا دهید تا دسترسی اولویتدار خود را حفظ کنید. برخلاف پلنهای اشتراکی، سرورهای اختصاصی ما از نویز همسایگان رنج نمیبرند. داشبورد مصرف خود را برای ماندن در این حدود و کسب عملکرد ثابت پایش کنید.
عیبیابی خطاهای رایج
خطاها را با بررسی کد وضعیت HTTP و بدنه پاسخ مدیریت کنید. خطای 401 نشاندهنده کلید API نامعتبر یا فاقد آن است. اگر احراز هویت شکست خورد، کلید خود را از داشبورد مجدداً تولید کنید. خطای 402 به این معنی است که اعتبار پیشپرداخت شما تمام شده است؛ برای ادامه سرویس از طریق ارز دیجیتال شارژ کنید.
خطای ۴۲۹ نشان میدهد که به محدودیتهای نرخ دسترسی پیدا کردهاید. فرکانس درخواستهای خود را کاهش دهید یا بارها را در چندین کلید تقسیم کنید. API برای این خطاها توکن محاسبه نمیکند، بنابراین برای تلاش مجددها اعتبار از دست نمیدهید. اطمینان حاصل کنید که کتابخانه کلاینت شما تلاش مجددها را با بازگشت نمایی برای استحکام بیشتر مدیریت میکند.
cURL
curl https://api.openrouterratelimits.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Process one million logs"}]
}'پایتون
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterratelimits.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.openrouterratelimits.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)