fa ▾
همین حالا شروع کنید

مستندات API

URL پایه OpenAI خود را به URL ما تغییر دهید و بلافاصله شروع به تولید متن کنید. این راهنمای شروع سریع نحوه احراز هویت، ارسال درخواست‌ها و مدیریت streaming را با API بدون سانسور ما نشان می‌دهد.

احراز هویت و URL پایه

پیکربندی کلاینت خود را با کلید API منحصر به فرد و URL پایه خاص ما به‌روزرسانی کنید. نیازی به تغییر منطق کد خود ندارید، فقط رشته اتصال. نقطه پایانی https://api.gatewayllm.cc/v1 و نیاز به Authorization: Bearer <key> header. این پیکربندی با هر SDK سازگار با OpenAI که از قبل نصب دارید کار می‌کند.

اولین درخواست

درخواست تکمیل چت استاندارد را ارسال کنید تا اتصال خود را بررسی کنید و پاسخ فوری دریافت نمایید. از شناسه مدل uncensored برای دسترسی به مدل زبانی بزرگ خاص ما. مثال زیر یک تعامل متنی ساده را با استفاده از ابزار خط فرمان cURL نشان می‌دهد.

curl https://api.gatewayllm.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Check server health status"}]
  }'

پاسخ شما به صورت JSON حاوی متن تولید شده ارسال می‌شود. اگر پاسخ معتبی دریافت کردید، یکپارچه‌سازی شما به درستی کار می‌کند.

یکپارچه‌سازی SDK Python

از کتابخانه رسمی پایتون OpenAI برای ارتباط با انتهای کار ما با لغو آدرس پایه استفاده کنید. این کار به شما اجازه می‌دهد ساختار کد پایتون موجود خود را حفظ کرده و ارائه‌دهنده زیرین را تغییر دهید. قطعه کد زیر نحوه راه‌اندازی کلاینت و ارسال پیام را نشان می‌دهد.

from openai import OpenAI

client = OpenAI(base_url="https://api.gatewayllm.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)

کتابخانه سریال‌سازی و دسریال‌سازی را به‌طور خودکار مدیریت می‌کند. اکنون می‌توانید از روش‌های استاندارد مانند chat.completions.create با بک‌اند ما.

راه‌اندازی SDK Node.js

پکیج Node.js OpenAI را با کلید خود و URL پایه ما مقداردهی اولیه کنید تا شروع به تولید محتوا کنید. این رویکرد سازگاری با برنامه‌های Node موجود را تضمین می‌کند و نیاز به بازنگری عمده ندارد. کد زیر فرآیند مقداردهی اولیه را نشان می‌دهد.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.gatewayllm.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);

متد completion را با شناسه مدل دلخواه خود فراخوانی کنید. شیء پاسخ، متن تولید شده را در content فیلد.

استریمینگ و SSE

جریان‌سازی را فعال کنید تا توکن‌ها را هنگام تولید دریافت کنید و تأخیر ادراک‌شده برای خروجی‌های طولانی کاهش یابد. مقدار stream: true در پارامترهای درخواست برای فعال‌سازی رویدادهای ارسال‌شده توسط سرور. مثال زیر نحوه مصرف جریان را به صورت قطعات نشان می‌دهد.

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)

هر قطعه شامل داده‌های جزئی است. قطعه نهایی شامل آمار کامل استفاده از توکن می‌شود. این روش برای رابط‌های کاربری بلادرنگ ایده‌آل است.

محدودیت‌ها، خطاها و زمینه

نرخ درخواست خود را پایش کنید و خطاها را به صورت شایسته مدیریت کنید تا یک برنامه پایدار حفظ شود. API ما محدودیتی معادل ۳۰۰ درخواست در دقیقه به ازای هر کلید را اعمال می‌کند. شما یک 401 خطا در صورتی که کلید شما نامعتبر باشد، یک 402 خطا در صورتی که اعتبار پیش‌پرداخت شما تمام شود، و یک 429 خطا در صورتی که محدودیت نرخ درخواست را تجاوز کنید. هر درخواست از پنجره زمینه‌ای ۱۰۰,۰۰۰ توکن پشتیبانی می‌کند. مطمئن شوید که مجموع متن ورودی و خروجی شما در این محدودیت قرار دارد تا از بریده شدن جلوگیری شود.

سوالات متداول

آیا این یک API سازگار با OpenAI است؟

بله، اندپوینت ما از قالب chat-completions استاندارد OpenAI پیروی می‌کند. می‌توانید از SDKهای رسمی OpenAI با تغییر ساده URL پایه به آدرس ما استفاده کنید. این امکان جایگزینی مستقیم (drop-in replacement) برای بیشتر یکپارچه‌سازی‌های موجود را فراهم می‌کند.

اندازه پنجره زمینه دروازه LLM چقدر است؟

ما از پنجره زمینه ۱۰۰,۰۰۰ توکنی برای ترکیب پرامپت و تکمیل پشتیبانی می‌کنیم. این امکان پردازش اسناد بزرگ یا تاریخچه‌های مکالمات طولانی را در یک درخواست فراهم می‌کند.

چگونه محدود نرخ‌ها را مدیریت کنم؟

ما ۳۰۰ درخواست در دقیقه به ازای هر کلید API مجاز می‌دانیم. اگر این محدودیت را تجاوز کنید، کد وضعیت 429 دریافت خواهید کرد. برای مدیریت بازگشت‌ها به‌طور کارآمد، از بازگشت نمایی (exponential backoff) در کلاینت خود استفاده کنید.

کلید خود را در یک مرحله باز کنید

ثبت‌نام کنید، کلید را بردارید، و URL پایه را به‌روز کنید. همین است.

همین حالا شروع کنیدمشاهده مستندات