نصب SDK استاندارد OpenAI
ابتدا SDK رسمی OpenAI برای زبان مورد نظر خود را نصب کنید. این کتابخانه احراز هویت و قالببندی درخواست را بهطور خودکار مدیریت میکند. این کتابخانه بدون تغییرات با API LLM بدون سانسور ما کار میکند.
- پایتون:
pip install openai - Node.js:
npm install openai
نسخه SDK باید به اندازه کافی جدید باشد تا از base_url پارامتر. این سازگاری با ساختار API سازگار با OpenAI ما را تضمین میکند.
URL پایه و کلید API خود را تنظیم کنید
مشتری را پیکربندی کنید تا به سرورهای ما متصل شود. از URL پایه استفاده کنید https://api.unrestrictedaibot.com/v1 و کلید API منحصر به فرد خود. این پیکربندی به شما اجازه میدهد از همان کدی که برای سرویسهای دیگر دارید استفاده کنید.
احراز هویت از طریق Authorization header. SDK این تزریق هدر را به طور خودکار انجام میدهد وقتی که کلید را ارائه دهید.
curl https://api.unrestrictedaibot.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Find all null values in this JSON response"}]
}'
اولین تکمیل چت
یک درخواست به /v1/chat/completions با شناسه مدل uncensored. یک پیام کاربر ارسال کنید و یک پاسخ متنی دریافت کنید. این مدل موضوعات بزرگسالان قانونی یا محتوای بحثبرانگیز را رد نمیکند.
تنظیم max_tokens پارامتری برای کنترل طول خروجی. پیشفرض ۲,۰۴۸ توکن است اگر این فیلد را حذف کنید. پنجره زمینه (Context) ما تا ۱۰۰,۰۰۰ توکن در مجموع پشتیبانی میکند.
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedaibot.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)
پاسخهای جریاندار (Streaming) را فعال کنید.
از رویدادهای ارسالی سرور (SSE) برای تحویل توکنها در لحظه استفاده کنید. تنظیم stream=true در درخواست شما. SDK توکنها را همانطور که تولید میشوند تولید میکند. این موضوع تأخیر ادراکشده برای پاسخهای طولانی را کاهش میدهد.
قطعات جریان را در کد خود مدیریت کنید. آخرین قطع شامل کل مصرف توکن است. این برای شفافیت صورتحساب و پایش مصرف مفید است.
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)
استفاده از حالت JSON و فراخوانی تابع
خروجی ساختاریافته را با تنظیم response_format به {"type": "json_object"}. مدل JSON معتبری برمیگرداند که میتوانید مستقیماً آن را تجزیه کنید. این برای ساخت عاملها (agents) یا پایپلاینهای داده ایدهآل است.
ابزارها را در درخواست خود برای فراخوانی تابع تعریف کنید. مدل میتواند توابع را بر اساس پرامپت کاربر فراخوانی کند. از tool_choice برای کنترل زمان فراخوانی توابع. این کار بدون نیاز به زیرساخت اضافی، قدرت برنامههای شما را افزایش میدهد.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedaibot.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);
مصرف و محدودیتهای توکن خود را بررسی کنید
مصرف خود را از طریق هدرهای پاسخ API یا آخرین قطعه Streaming ردیابی کنید. شما به ازای هر توکن مصرف شده هزینه پرداخت میکنید. خطاها و رد شدنها رایگان هستند. این مدل قیمتگذاری شفاف برای همه درخواستها اعمال میشود.
به محدودیتهای نرخ احترام بگذارید: 300 درخواست در دقیقه و 8 درخواست همزمان به ازای هر کلید. اگر از این محدودیتها عبور کنید، خطای 429 دریافت خواهید کرد. همزمانی خود را به صورت مناسب برنامهریزی کنید.