شروع سریع API: اتصال کلاینت شما به مدل بدون سانسور ما
این راهنمای سریع نشان میدهد که چگونه یک کلاینت سازگار با OpenAI را به مدل متن بدون سانسور ما متصل کنید. شما به یک URL پایه، یک شناسه مدل و کلید خود نیاز دارید.
احراز هویت و URL پایه
هر درخواست به https://doesgrokhaveanapi.com/v1 و کلید شما را در Authorization هدر را به عنوان توکن bearer کپی کنید. کلید را از صفحه دریافت کلید API کپی کنید؛ این کلید پس از ثبتنام نمایش داده میشود و میتوانید آن را هر زمان جایگزین کنید.
کوتاه و مستقیم: URL پایه و کلید تنها دو مقداری هستند که هنگام انتقال یک مشتری موجود تغییر میکنند.
curl https://api.doesgrokhaveanapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API endpoint for the model?"}]
}'
نقطه پایانی تکمیل گفتگو
ارسال POST /v1/chat/completions با لیستی از پیامها. پاسخ همان ساختار پاسخ تکمیلهای چت OpenAI را دارد، بنابراین پارسرهای موجود همچنان کار میکنند.
- از نقش استفاده کنید
userبرای پرامپت خود وsystemرا برای دستورالعملها بخوانید. - پاسخ را از
choices[0].message.content. - تعداد توکنها در
usage، و این همان چیزی است که اعتبار شما بابت آن کسر میشود.
from openai import OpenAI
client = OpenAI(base_url="https://api.doesgrokhaveanapi.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)
مدل پشتیبانیشده: 'uncensored'
فیلد مدل را روی uncensored. این تنها شناسه مدل در سرویس است، بنابراین گزینه دیگری برای انتخاب وجود ندارد. GET /v1/models آن را برمیگرداند که راهی سریع برای تأیید کارکرد کلید است.
مدل یک مدل با وزن باز است که روی سرورهای خود ما اجرا میشود. به درخواستهای بزرگسالان، داستانی یا بحثبرانگیزِ قانونی، ردّ نمیدهد. تنها محدودیت سخت، محتوای جنسی شامل کودکان است.
پخش زنده و فراخوانی تابع
افزودن stream: true برای دریافت توکنها به صورت رویدادهای ارسالشده توسط سرور. قطعه نهایی شامل اعداد استفاده است، بنابراین میتوانید هزینه هر درخواست را بدون نیاز به یک فراخوانی دیگر، ثبت کنید.
Function calling از طریق استاندارد tools و tool_choice فیلدها. هر تابع را با یک طرحواره JSON تعریف کنید و tool_calls آرایه پاسخ قرار میدهد.
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)
پارامترها: دما، Top P و Stop
پارامترهای نمونهگیری پشتیبانی شده عبارتند از temperature, top_p, stop, seed, presence_penalty و frequency_penalty. از دمای پایین برای کد و استخراج اطلاعات، و دمای بالاتر برای داستاننویسی استفاده کنید.
اگر max_tokens، محدودیت پیشفرض خروجی ۲,۰۴۸ توکن است. حداکثر سختگیرانه برای هر درخواست ۱۶,۰۰۰ توکن است.
حالت JSON و قالبهای پاسخ
تنظیم response_format به { 'type': 'json_object' } زمانی که به خروجی قابل خواندن توسط ماشین نیاز دارید. در پرامپت نیز درخواست JSON کنید، زیرا مدل دستورالعمل و قالب را به صورت همزمان دنبال میکند.
- فیلدهای مورد نیاز خود را در پیام سیستم توصیف کنید.
- مثال را کوتاه نگه دارید، دو یا سه کلید.
- قبل از ذخیره نتیجه، آن را در کد خود اعتبارسنجی کنید.
محدودیتهای نرخ و مدیریت خطا
هر کلید میتواند 300 درخواست در دقیقه و 8 درخواست همزمان ارسال کند. درخواستهایی با بدنه بیش از 8 MB رد میشوند. کد 401 به معنای اشتباه بودن کلید، 402 به معنای تمام شدن اعتبار و 429 به معنای رسیدن به محدودیت نرخ است: صبر کنید و با backoff دوباره تلاش کنید.
خطاها و رد درخواستها هزینهای ندارند. پنجره context با 100,000 توکن را برای رشتههای طولانی در نظر داشته باشید: مجموع توکنهای prompt و completion محاسبه میشود.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.doesgrokhaveanapi.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 پایهای باید استفاده کنم؟
از https://doesgrokhaveanapi.com/v1 به عنوان URL پایه استفاده کنید. هر SDK سازگار با OpenAI آن را میپذیرد زمانی که URL پایه و کلید را تغییر دهید و هیچ چیز دیگری در کد شما نیاز به تغییر ندارد.
کدام شناسه مدل را ارسال میکنم؟
بدون سانسور ارسال کنید. این تنها مدل موجود در سرویس است. برای تأیید شناسه و فعال بودن کلید خود قبل از اجرای کارهای بزرگتر، GET /v1/models را فراخوانی کنید.
چرا درخواست من 402 برمیگرداند؟
یک پاسخ 402 به این معنی است که اعتبار پیشپرداخت حساب تمام شده است. با USDT روی شبکه TRC20 یا USDC روی شبکه Base حداقل به مبلغ $20 شارژ کنید و درخواست بعدی انجام میشود. درخواستهای ناموفق کسر نمیشوند.
کلید API شما یک مرحله تا دسترسی دارد
ثبتنام کنید، توکن خود را کپی کنید، نقطه پایانی را بهروزرسانی کنید. این فرآیند کامل است.