آخرین بهروزرسانی
Dolphin عیبیابی AI: اشتباهات رایج ادغام API
شکستهای یکپارچهسازی Dolphin AI معمولاً ناشی از شناسههای مدل نادرست یا عدم درک نحوه مدیریت مدلهای بدون سانسور با زمینه و streaming است. این راهنما محدودیتهای فنی خاص API سازگار با OpenAI ما را برای جلوگیری از اتلاف اعتبار و شکست جریانهای async توضیح میدهد.
نتیجهگیریهای کلیدی
- شناسه مدل strictly "uncensored" است، نه یک نام فروشنده عمومی.
- توکنهای ورودی ۱۰۰k زمینه را مصرف میکنند، اما خروجی در هر درخواست به ۱۶k توکن محدود است.
- پشتیبانی از Streaming از طریق SSE برای نمایش بلادرنگ توکن در بیشتر رابطهای کاربری ضروری است.
- حالت JSON نیاز به پیکربندی صریح response_format در بدنه درخواست دارد.
فرض بر اینکه «بدون سانسور» به معنای «بدون هیچ فیلتری» است
بدون سانسور به معنای این نیست که مدل هیچ محدودیتی ندارد. به طور خاص به این معنی است که مدل موضوعات قانونی بزرگسالان، جنجالی یا خلاق که مدلهای استاندارد ممکن است مسدود کنند را رد نمیکند. LLM بدون سانسور ما هر درخواستی را بدون اخلاقمداری میپذیرد، اما همچنان یک محدودیت محتوای سخت در مورد کودکان اعمال میکند.
برای مثال، اگر محتوای جنسی شامل اطفال را درخواست کنید، API صرفنظر از تنظیمات بدون سانسور، یک خودداری بازگردانی میکند. این یک قانون سخت است که در لایه استنتاج اعمال میشود. تمام محتوای قانونی بزرگسالان دیگر، از جمله داستانهای صریح یا بحثهای ظریف، بدون فیلترهای ملایم عبور میکنند.
اشتباه گرفتن پنجره زمینه با حداکثر توکنهای خروجی
پنجره زمینه ۱۰۰,۰۰۰ توکن است، اما حداکثر خروجی در هر درخواست ۱۶,۰۰۰ توکن است. این تمایز برای تولید اسناد بلند حیاتی است. اگر یک ورودی 90k توکن ارسال کنید و 30k توکن درخواست کنید، درخواست شکست میخورد یا بهطور غیرمنتظره قطع میشود.
- حداکثر زمینه: 100,000 توکن (ورودی + خروجی ترکیب شده).
- حداکثر خروجی: ۱۶,۰۰۰ توکن در هر درخواست.
- خروجی پیشفرض: 2,048 توکن اگر max_tokens تنظیم نشده باشد.
همیشه max_tokens را به صراحت در فراخوانیهای API خود تنظیم کنید. این از مصرف توکن خارج از کنترل جلوگیری کرده و صورتحسابدهی قابل پیشبینی را تضمین میکند. خطاهایی که این محدودیتها را تجاوز میکنند اعتبار مصرف نمیکنند، اما منطق تجزیه شما را خراب میکنند.
نادیده گرفتن پاسخهای استریمشده در محیطهای ناهمگام
API ما از طریق رویدادهای ارسالی سرور (SSE) پشتیبانی میکند. اگر از یک کلاینت سینک برای تولید طولانی استفاده کنید، به محدودیتهای زمانبندی (timeout) برخورد میکنید. محیطهای ناهمگام (Async) انتظار یک جریان از قطعات جزئی را دارند، نه یک بار بزرگ تکی.
هر تکه شامل دادههای مصرف توکن در پالس نهایی است. این به شما امکان میدهد هزینههای بلادرنگ را ردیابی کنید. بدون استریمینگ، رابط کاربری شما ممکن است برای چندین ثانیه در حین تولید سنگین قفل شود. از
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) مسدود کنید تا نحوه مدیریت صحیح در سمت کلاینت را مشاهده کنید.
تنظیم شناسه مدل (model ID) اشتباه در بدنه درخواست
بسیاری از توسعهدهندگان به طور پیشفرض روی "gpt-3.5-turbo" یا "gpt-4" تنظیم میشوند. API ما نیاز دارد که شناسه مدل دقیقاً "uncensored" باشد. ارسال هر شناسه دیگری منجر به خطای 404 یا مدل یافت نشود میشود. این یک مدل متعلق به فروشنده خاصی مانند GPT یا Claude نیست.
این یک مدل با وزن باز است که روی زیرساخت ما اجرا میشود. اطمینان حاصل کنید که پیکربندی SDK شما به HTTPS://api.dolphinmodelai.com/v1 اشاره میکند و از "uncensored" به عنوان نام مدل استفاده میکند. این تنها مدلی است که ارائه میدهیم.
فراموش کردن مدیریت فرمتهای tool_choice و function calling
فراخوانی تابع پشتیبانی میشود، اما فرمت باید با استانداردهای OpenAI مطابقت داشته باشد. اگر میخواهید استفاده از ابزار اجباری باشد، باید tool_choice را به صراحت مشخص کنید. API ابزارها، tool_choice و فرمتهای استاندارد پیام را میپذیرد.
تعریفهای ابزار به صورت نادرست فرمت شده منجر به خطاهای تجزیه در سمت مشتری میشوند. مطمئن شوید که طرحهای JSON شما معتبر هستند. مدل JSON ساختاریافتهای برمیگرداند که کد شما باید آن را تجزیه کند. از
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.dolphinmodelai.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); برای مثال تعریف ابزار.
سوءتفاهم در مورد تفاوت قیمتگذاری ورودی و خروجی
توکنهای ورودی به قیمت $0.15 به ازای هر ۱ میلیون توکن و توکنهای خروجی به قیمت $0.50 به ازای هر ۱ میلیون توکن هستند. خروجی چهار برابر گرانتر از ورودی است. این نسبت در بیشتر APIهای LLM استاندارد است اما تأثیر قابل توجهی بر بودجه شما دارد.
اعتبار پیشپرداخت بر اساس مصرف واقعی توکنها محاسبه میشود. خطاها و رد شدن درخواستها رایگان هستند. اگر یک پرامپت 10k توکنی ارسال کنید و پاسخ 10k توکنی دریافت کنید، برای هر دو هزینه میپردازید. شارژ با ارزهای دیجیتال الزامی است. میتوانید با USDT روی TRC20 یا USDC روی Base شارژ کنید. حداقل شارژ $20 است. پاداشها در $50 (+5%)، $100 (+10%) و $200 (+15%) اعمال میشوند.
بررسی نکردن فرمت پاسخ برای خطاهای حالت JSON
حالت JSON نیاز دارد که response_format را روی {"type": "json_object"} تنظیم کنید. بدون این، مدل ممکن است مارکداون یا متنی بازگرداند که پارسر شما را خراب میکند. این منبع رایج شکستهای یکپارچهسازی است.
اطمینان حاصل کنید که طرحواره (schema) شما دقیق است. مدل تضمین نمیکند که JSON کامل باشد اگر طرحواره مبهم باشد. از
from openai import OpenAI
client = OpenAI(base_url="https://api.dolphinmodelai.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) مسدود کنید تا ببینید چگونه خروجی JSON را اعمال کنید. این کار هزینههای پردازش پساز تولید را کاهش میدهد.
فرض بر اینکه همه پارامترهای SDK OpenAI یکسان عمل میکنند
پارامترهایی مانند temperature، top_p، stop، seed، presence_penalty و frequency_penalty مشابه OpenAI عمل میکنند. با این حال، همه پارامترهای حاشیهای پشتیبانی نمیشوند. ما مجموعه اصلی مورد نیاز برای بیشتر موارد استفاده را پشتیبانی میکنیم.
استریم، فراخوانی تابع و حالت JSON به طور کامل پشتیبانی میشوند. بررسی کنید
curl https://api.dolphinmodelai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run unit tests for the payment module"}]
}' برای یک درخواست ساده. فرض نکنید که پارامترهای پشتیبانینشده به آرامی نادیده گرفته میشوند. آنها ممکن است باعث خطا شوند.
نادیده گرفتن محدودیت ۸ مگابایتی بدنه درخواست
حداکثر اندازه بدنه درخواست ۸ مگابایت است. اگر فایلهای بزرگ یا زمینه گسترده ارسال کنید، ممکن است این محدودیت را تجاوز کنید. این یک محدودیت سخت بر دروازه API است. درخواستهایی که از این اندازه فراتر میروند بلافاصله رد میشوند.
اطمینان حاصل کنید که پیکربندی شما فشرده یا کوتاه شده است. از
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) مثال را ببینید تا نحوه مدیریت زمینههای بزرگ به طور کارآمد را یاد بگیرید. این محدودیت برای کل درخواست، شامل هدرها و بدنه، اعمال میشود.پرسشهای رایج
آیا مدل هوش مصنوعی Dolphin همان API رسمی GPT است؟
خیر. ما یک سرویس مستقل هستیم. API ما سازگار با OpenAI است، به این معنی که از همان ساختار نقطه پایانی و SDKها استفاده میکند، اما یک مدل بدون فیلتر متفاوت را ارائه میدهد. این مدل GPT، Claude یا مدل هیچ فروشنده دیگری نیست. باید URL پایه و شناسه مدل را برای استفاده از آن تغییر دهید.
چگونه اعتبار خود را شارژ کنم؟
ما فقط ارزهای دیجیتال میپذیریم: USDT روی TRC20 یا USDC روی Base. حداقل شارژ $20 است. پاداشها عبارتند از +5% در $50، +10% در $100 و +15% در $200. با گوگل یا ایمیل ثبتنام کنید تا کلید خود را دریافت کنید.
آیا مدل بدون سانسور تمام محتوا را حذف میکند؟
خیر. تنها یک محدودیت سخت را فیلتر میکند: محتوای جنسی مرتبط با کودکان. تمام محتوای دیگر بزرگسالان قانونی، بحثبرانگیز یا خلاقانه بدون رد مجاز است. این موضوع آن را برای خلق محتوای NSFW و داستاننویسی بدون محدودیت ایدهآل میکند.
اعتبار آزمایشی چیست؟
حسابهای جدید ۰٫۵۰ دلار اعتبار آزمایشی معتبر برای ۷ روز دریافت میکنند. این یکبار مصرف برای هر شخص است. خطاها و رد شدن درخواستها در طول آزمایش اعتبار مصرف نمیکنند.
کلید API خود را دریافت کنید
ثبتنام کنید، کلید را کپی کنید، URL پایه خود را بهروزرسانی کنید. تمام.