fa ▾
دریافت کلید API

مستندات API: تکمیل‌های چت & پارامترها

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

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

به API متصل شوید و از URL پایه و کلید API خود استفاده کنید. این نقطه پایانی با SDKهای استاندارد OpenAI کار می‌کند و تنها با به‌روزرسانی پیکربندی قابل استفاده است. شما یک کلید فعال به ازای هر حساب دریافت می‌کنید که از طریق گوگل یا ایمیل در زمان ثبت‌نام ایجاد می‌شود. این کلید هر درخواستی که به سرویس ارسال می‌کنید را احراز هویت می‌کند.

curl https://api.hubuncensored.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Generate a JSON object with user id and role"}]
  }'

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

نقطه پایانی تکمیل چت

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

from openai import OpenAI

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

خطاهایی مانند 401 نشان‌دهنده کلید نامعتبر هستند، در حالی که 402 به معنای نیاز به اعتبار بیشتر است. درخواست‌ها بر اساس استفاده واقعی توکن شارژ می‌شوند، بنابراین خطاها موجودی شما را تخلیه نمی‌کنند.

پاسخ‌های استریم از طریق SSE

دریافت توکن‌ها به‌صورت بلادرنگ با استفاده از رویدادهای ارسالی سرور (SSE). این روش تأخیر ادراکی را برای خروجی‌های طولانی با تحویل داده‌ها همان‌طور که تولید می‌شوند کاهش می‌دهد. می‌توانید قطعه نهایی را تجزیه کنید تا آمار دقیق مصرف توکن برای صورتحساب دریافت کنید. Streaming برای رابط‌های کاربری که بازخورد فوری مهم است ایده‌آل است.

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

از فراخوانی تابع برای یکپارچه‌سازی خروجی‌های ساختاریافته در جریان کاری خود استفاده کنید. ابزارها و tool_choice را مشخص کنید تا فرمت پاسخ مدل را هدایت کنید. همچنین می‌توانید با استفاده از پارامتر response_format حالت JSON دقیق را اعمال کنید تا تجزیه قابل اعتمادی داشته باشید. این تضمین می‌کند که برنامه شما داده‌ها را دقیقاً در ساختاری که تعریف کرده‌اید دریافت می‌کند.

import OpenAI from "openai";

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

این ویژگی‌ها درون یک مدل بدون سانسور واحد کار می‌کنند. مسیریابی مدل یا انتخاب بین عرضه‌کنندگان مختلف وجود ندارد. شما به یک مدل وزن‌باز تکیه می‌کنید که برای محتوای بدون محدودیت تنظیم شده است.

پارامترها: دما، Top P و Stop

رفتار تولید را با پارامترهای استاندارد مانند temperature و top_p کنترل کنید. این مقادیر را تنظیم کنید تا تعادلی بین خلاقیت و قطعیت در خروجی‌های خود ایجاد کنید. پارامتر stop به شما امکان می‌دهد تولید را در دنباله‌های خاص متوقف کنید. همچنین می‌توانید presence_penalty و frequency_penalty را تنظیم کنید تا سبک خروجی را اصلاح نمایید.

max_tokens را برای پاسخ‌های طولانی به 16,000 تنظیم کنید. اگر max_tokens را حذف کنید، پیش‌فرض 2,048 توکن در هر درخواست است. این تنظیمات کنترل دقیقی بر فرآیند تولید به شما می‌دهند.

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

مصرف خود را در برابر محدودیت‌های سخت‌گیرانه نرخ پایش کنید تا عملکرد روان تضمین شود. شما مجاز به ۳۰۰ درخواست در دقیقه و ۸ درخواست همزمان به ازای هر کلید هستید. حداکثر اندازه بدنه درخواست ۸ مگابایت است. تجاوز از این محدودیت‌ها خطای محدودیت نرخ ۴۲۹ را برمی‌گرداند. درک این محدودیت‌ها به شما کمک می‌کند تا منطق تلاش مجدد مقاوم طراحی کنید.

پنجره زمینه (context window) از مجموعاً ۱۰۰,۰۰۰ توکن پشتیبانی می‌کند. این مقدار شامل هم ورودی (prompt) و هم خروجی (completion) تولیدشده است. مصرف توکن‌ها را متناسب با نیاز برنامه‌ریزی کنید تا از بریدگی یا خطا جلوگیری شود.

پرسش‌های رایج

آیا API هاب بدون سانسور با SDKهای OpenAI سازگار است؟

بله، یک API سازگار با OpenAI است. می‌توانید از SDKهای رسمی OpenAI با به‌روزرسانی ساده base_url و کلید API استفاده کنید. این امکان را به شما می‌دهد تا آن را با حداقل تغییرات کد در پروژه‌های موجود جایگزین کنید.

اگر از محدودیت نرخ عبور کنم چه اتفاقی می‌افتد؟

خطای ۴۲۹ را دریافت خواهید کرد که نشان‌دهنده تعداد زیاد درخواست‌ها است. شما به ۳۰۰ درخواست در دقیقه و ۸ درخواست همزمان به ازای هر کلید محدود هستید. به طور خلاصه صبر کنید و مجدداً تلاش کنید، یا اگر لازم است استفاده خود را در چندین کلید گسترش دهید.

پنجره متن برای مکالمات طولانی چگونه کار می‌کند؟

پنجره زمینه ۱۰۰,۰۰۰ توکن است که شامل هم متن ورودی و هم پاسخ می‌شود. می‌توانید ورودی‌های طولانی ارسال کنید، اما حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است مگر اینکه مقدار max_tokens بالاتری مشخص کنید.

کلید API خود را تولید کنید

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

دریافت کلید API