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

شروع سریع API سازگار با OpenAI

کد سازگار با OpenAI خود را در API LLM بدون سانسور ما جایگذاری کنید بدون اینکه نیاز به بازنویسی منطق خود داشته باشید. این راهنما مراحل راه‌اندازی ضروری را برای توسعه‌دهندگانی که به جایگاهی مستقیم و بدون فیلتر برای اندپوینت‌های مدل استاندارد نیاز دارند، پوشش می‌دهد.

پیش‌نیازها و پیکربندی محیط

شما به یک کلید API و URL پایه صحیح برای اتصال کلاینت خود نیاز دارید. با گوگل یا ایمیل در صفحه Get API key ثبت‌نام کنید تا اعتبارنامه خود را بلافاصله دریافت کنید. آزمایش به شما ۰.۵۰ دلار به مدت هفت روز می‌دهد و می‌توانید با USDT یا USDC از طریق ارزهای دیجیتال شارژ کنید. کلید خود را امن نگه دارید و بررسی کنید که با تنظیمات حساب شما مطابقت دارد.

اطمینان حاصل کنید که محیط شما از درخواست‌های HTTP استاندارد پشتیبانی می‌کند. سرویس ما روی یک مدل uncensored واحد اجرا می‌شود، بنابراین نیازی به مدیریت چندین نقطه پایانی مدل ندارید. URL پایه خود را روی HTTPS://api.openaiapicompatibility.com/v1 تنظیم کنید تا قبل از انجام هر تماسی. این تضمین می‌کند که تمام درخواست‌ها به درستی به سرورهای استنتاج تنظیم شده ما هدایت شوند.

نصب SDK رسمی OpenAI

از SDKهای رسمی برای حفظ سازگاری با جریان‌های کاری موجود OpenAI استفاده کنید. کتابخانه‌های Python و Node مستقیماً با نقطه پایانی ما کار می‌کنند زیرا ما از طرح‌بندی API استاندارد پیروی می‌کنیم. بسته را در دایرکتوری پروژه خود با استفاده از مدیر بسته مورد علاقه خود نصب کنید. این روش نیاز به کد کلاینت HTTP سفارشی را حذف می‌کند.

ما از پارامترهای استاندارد مانند temperature، top_p و دنباله‌های stop پشتیبانی می‌کنیم. SDK سریال‌سازی JSON و هدرهای درخواست را به‌طور خودکار مدیریت می‌کند. می‌توانید URL پایه را در پیکربندی کلاینت تغییر دهید تا به سرورهای ما اشاره کند. این امکان جابجایی بین ارائه‌دهندگان را بدون تغییر منطق برنامه فراهم می‌کند.

پیکربندی URL پایه و کلید API

آدرس پایه و کلید API را در شیء پیکربندی کلاینت خود تنظیم کنید. آدرس پایه HTTPS://api.openaiapicompatibility.com/v1 است. کلید API خود را در هدر Authorization به عنوان یک توکن Bearer ارسال کنید. این پیکربندی تضمین می‌کند که درخواست‌های شما احراز هویت شده و به سرویس صحیح هدایت می‌شوند.

curl https://api.openaiapicompatibility.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "list all python packages for data science"}]
  }'

اتصال خود را با فراخوانی endpoint GET /v1/models بررسی کنید. این کار لیستی از مدل‌های موجود، از جمله شناسه مدل uncensored را برمی‌گرداند. از این مرحله برای تأیید دسترسی شبکه و اعتبارنامه‌های خود پیش از ارسال پرس‌وجوهای پیچیده استفاده کنید.

انجام اولین درخواست تکمیل چت

درخواست POST را به /v1/chat/completions ارسال کنید و پیام‌های پرامپت خود را وارد کنید. مدل را uncensored تعریف کنید تا به موتور استنتاج بدون فیلتر دسترسی پیدا کنید. دستور سیستم خود را برای تعیین رفتار وارد کنید و پیام‌های کاربر را برای محتوای مورد نظر خود اضافه کنید.

from openai import OpenAI

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

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

پاسخ‌های استریم با SSE

با تنظیم پارامتر stream روی true در درخواست خود، قابلیت streaming را فعال کنید. این کار پاسخ‌های ناقص را به صورت رویدادهای ارسالی سرور (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)

هر قطعه شامل یک تغییر جزئی (delta) از پاسخ است. این تغییرات جزئی را انباشته کنید تا متن کامل بازسازی شود. قطعه نهایی شامل استفاده کلی از توکن برای درخواست است. این روش با هر کلاینت یا کتابخانه استاندارد SSE کار می‌کند. این روش تأخیر ادراک‌شده را برای تولید محتوای طولانی کاهش می‌دهد.

مدیریت حالت JSON و فراخوانی تابع

استفاده از حالت JSON با تنظیم response_format روی json_object. این کار مدل را مجبور می‌کند تا JSON معتد خروجی دهد به جای متن آزاد. این برای استخراج داده‌های ساختاریافته یا پاسخ‌های API مفید است. این را با فراخوانی تابع برای سناریوهای استفاده از ابزار ترکیب کنید.

ابزارهای خود را در آرایه tools تعریف کنید. نام تابع، توضیحات و پارامترها را مشخص کنید. مدل جزئیات فراخوانی تابع را در پاسخ باز می‌گرداند. سپس می‌توانید تابع را اجرا کرده و نتیجه را به مدل بازگردانید. این موضوع کارهای چندمرحله‌ای پیچیده را با مدل uncensored امکان‌پذیر می‌کند.

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.openaiapicompatibility.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 از سازگاری API OpenAI برای مشتریان موجود پشتیبانی می‌کند؟

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

محدودیت‌های توکن و اندازه پنجره زمینه چیست؟

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

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

محدود به 300 درخواست در دقیقه و 8 درخواست همزمان به ازای هر کلید هستید. خطای 401 نشان‌دهنده کلید API نامعتبر یا فاقد آن است. خطای 402 به معنای عدم اعتبار کافی است و خطای 429 نشان می‌دهد که از محدودیت نرخ تجاوز کرده‌اید.

کلید خود را از طریق ثبت‌نام دریافت کنید

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