پیشنیازها: نصب SDK OpenAI
ابتدا SDK رسمی OpenAI برای زبان مورد نظر خود را نصب کنید. این کتابخانه احراز هویت، تلاش مجدد و تجزیه JSON را مدیریت میکند تا نیازی به نوشتن کلاینتهای HTTP از صفر نداشته باشید. API ما از همان رابطهای استاندارد سرویس اصلی استفاده میکند، به این معنی که منطق کد موجود شما دستنخورده باقی میماند.
شما فقط به یک محیط Python یا Node.js معتبر نیاز دارید. SDK کارهای سنگین را برای شما مدیریت میکند.
- پایتون:
pip install openai - Node.js:
npm install openai
URL پایه و کلید API خود را پیکربندی کنید
مشتری خود را به نقطه پایانی اختصاصی ما هدایت کنید. URL پایه پیشفرض را با دامنه خاص ما جایگزین کنید تا ترافیک را به مدلهای بدون سانسور ما مسیریابی کنید. شما همچنین باید کلید API خود را از داشبورد ارائه دهید.
این مرحله درخواستهای شما را از سایر ارائهدهندگان جدا میکند. اطمینان حاصل کنید که از URL پایه دقیقاً همان چیزی که در زیر ارائه شده استفاده میکنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedaigpt.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedaigpt.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);
اولین درخواست POST /v1/chat/completions خود را ارسال کنید
درخواست تکمیل چت استاندارد را ارسال کنید. از شناسه مدل uncensored برای اطمینان از دریافت مدل صحیح. API پارامترهای استاندارد مانند temperature و max_tokens.
curl https://api.unrestrictedaigpt.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run python script to sort list numerically"}]
}'پاسخ حاوی متن تولید شده خواهد بود. اگر نیاز به مدیریت خطاها دارید، کد وضعیت را بررسی کنید.
پاسخهای استریم را از طریق SSE مدیریت کنید
استریمینگ را با تنظیم stream: true. این یک جریان رویدادهای ارسالی سرور (Server-Sent Events) برمیگرداند. هر قطعه را هنگام رسیدن پردازش میکنید که این امر تاخیر ادراکشده را برای خروجیهای بلند کاهش میدهد.
قطعه نهایی شامل آمار مصرف توکن است. این امکان ردیابی هزینهها را به صورت بلادرنگ فراهم میکند.
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)
پیادهسازی فراخوانی ابزار (Tool Calling) و حالت JSON
از tools پارامتری برای فعالسازی فراخوانی تابع. طرحواره تابع خود را تعریف کنید و اجازه دهید مدل تصمیم بگیرد چه زمانی آن را فراخوانی کند. همچنین میتوانید با response_format برای ساختارهای داده دقیق.
هر دو ویژگی دقیقاً همانطور که در API استاندارد OpenAI عمل میکنند، کار میکنند.
Limits, errors, and context window
API ما محدودیتهای سختگیرانه برای اطمینان از پایداری اعمال میکند. شما پنجره زمینه ۱۰۰,۰۰۰ توکنی دریافت میکنید. حداکثر خروجی به ازای هر درخواست ۱۶,۰۰۰ توکن است. شما به ۳۰۰ درخواست در دقیقه محدود هستید. خطای 401 به معنای نامعتبر بودن کلید شما است. خطای 402 به معنای نداشتن اعتبار است. خطای 429 به معنای رسیدن به محدودیت نرخ است. خطاها و رد شدنها اعتبار مصرف نمیکنند.