پیشنیازها: نصب SDK
کتابخانه رسمی SDK را برای زبان مورد علاقه خود نصب کنید تا احراز هویت و قالببندی درخواستها بهطور خودکار انجام شود. اکثر توسعهدهندگان بستههای جامعهمحافظتشده که استاندارد را بازآفرینی میکنند ترجیح میدهند openai ساختار کتابخانه. این تضمین میکند که کد شما با بهروزرسانیهای آینده نقطه پایانی chat-completions سازگار باقی میماند.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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.openaiapikeypricing.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);
تنظیم URL پایه خود
مشتری خود را به URL پایه اختصاصی ما هدایت کنید تا درخواستها را از طریق زیرساخت بدون سانسور ما مسیریابی کنید. باید base_url پارامتر را در پیکربندی کلاینت خود تنظیم کنید قبل از ارسال هرگونه درخواست. این به SDK میگوید که از سرورهای استاندارد OpenAI صرفنظر کند و ترافیک را به نقاط پایانی اختصاصی ما هدایت کند.
URL پایه: https://api.openaiapikeypricing.com/v1
مشتری را مقداردهی اولیه کنید
یک نمونه از کلاینت خود را با استفاده از کلید API دریافت شده از داشبورد ایجاد کنید. کلید را به عنوان یک رشته ارسال کنید و URL پایه را تنظیم کنید تا مطمئن شوید تمام درخواستها به درستی هدایت میشوند. این مرحله زمینه اتصال را برای فراخوانیهای API بعدی ایجاد میکند و به پیکربندی اضافی نیاز ندارد.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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.openaiapikeypricing.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);
اولین تکمیل مکالمه خود را انجام دهید
یک درخواست متنی ساده به /v1/chat/completions اندپوینت برای بررسی ادغام شما. از شناسه مدل uncensored برای دسترسی به مدل وزنباز بهینهسازی شده برای موضوعات بزرگسالان و بحثبرانگیز بدون رد شدن. API یک شیء تکمیل استاندارد شامل متن تولید شده بازگردانی میکند.
curl https://api.openaiapikeypricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the token costs for ten model variants"}]
}'
مدیریت پاسخهای پخش زنده
استریمینگ را با تنظیم stream: true برای دریافت توکنها همانطور که تولید میشوند. این کار تأخیر ادراکشده را برای محتوای طولانیمدت یا برنامههای تعاملی کاهش میدهد. SDK پردازش رویدادهای ارسالی سرور (SSE) را مدیریت کرده و هر توکن را به پردازشگر رویداد شما تحویل میدهد.
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)
محدودیتها، خطاها و زمینه
کلید شما از ۳۰۰ درخواست در دقیقه پشتیبانی میکند و پنجره متنی ۱۰۰,۰۰۰ توکنی را امکانپذیر میسازد. برای خطاهای HTTP 401 در صورت نامعتبر بودن کلید، خطاهای 402 در صورت اتمام اعتبار پیشپرداخت، و خطاهای 429 در صورت عبور از محدودیت نرخ، نظارت داشته باشید. درخواستهایی که از محدودیت حجم بدنه ۸ مگابایت یا محدودیت خروجی ۱۶,۰۰۰ توکن فراتر روند، نیز خطا برمیگردانند.