راهنمای یکپارچهسازی API Mistral
انتقال یک یکپارچهسازی به سبک Mistral به URL پایه جدید کار کمتری نسبت به آنچه بیشتر تیمها انتظار دارند، نیاز دارد. این راهنما شامل تغییر URL پایه، شناسه مدل، استریمدهی، ابزارها، محدودیتهای توکن، تلاش مجدد و خطاهایی است که بیشتر با آنها مواجه میشوید، همراه با کدی که میتوانید مستقیماً اجرا کنید.
آخرین بهروزرسانی
خلاصه
- تغییر یک URL پایه و یک کلید است؛ فرمت درخواست و پاسخ یکسان میماند.
- از شناسه مدل uncensored استفاده کنید و آن را با یک درخواست تست ساده قبل از تغییر هر چیز دیگری بررسی کنید.
- پخش زنده و فراخوانی تابع از طریق همان اندپوینت تکمیل چت کار میکنند، بنابراین پارسرهای موجود همچنان کار میکنند.
- هزینهها ۰.۱۵ دلار برای هر ۱ میلیون توکن ورودی و ۰.۵۰ دلار برای هر ۱ میلیون توکن خروجی است که از اعتبار پیشپرداخت کسر میشود.
درک تغییر URL پایه
کد شما درخواستها را به یک URL پایه ارسال میکند و یک کلید به آن ضمیمه میکند. برای انتقال به یک پایانه سازگار با OpenAI دیگر، تنها این دو مقدار را تغییر میدهید و بقیه چیزها ثابت میماند. مسیر /v1/chat/completions همان میماند، بنابراین بدنه درخواست و بدنه پاسخ شکل خود را حفظ میکنند.
آدرس پایه قدیمی را در یک مقدار پیکربندی حفظ کنید، نه در کد. اینگونه میتوانید در صورت بروز مشکل در محیط تولید، در یک مرحله به آن بازگردید.
سازگاری SDK: کلاینتهای OpenAI در مقابل Mistral
بیشتر کتابخانههای کلاینت یک URL پایه سفارشی میپذیرند. SDK رسمی OpenAI، LangChain و LlamaIndex همه این کار را انجام میدهند و یک کلاینت HTTP ساده نیز کار میکند. URL پایه را روی https://mistralapibaseurl.com/v1 و کلید جدید را پاس دهید.
- نسخه SDK را بررسی کنید، زیرا نسخههای بسیار قدیمی تنظیم URL پایه را نادیده میگیرند.
- بررسی کنید که کلاینت کلید را در
Authorizationهدر به عنوان یک توکن bearer.
پیکربندی شناسه مدل
شناسه مدل را uncensored. این تنها مدلی است که سرویس ارائه میدهد، بنابراین شناسه (id) بین درخواستها تغییر نمیکند و شما به منطق انتخاب مدل نیاز ندارید.
یک درخواست را با یک پرامپت کوتاه اجرا کنید. یک پاسخ و یک بلوک استفاده نشان میدهد که URL پایه، کلید و شناسه مدل صحیح هستند.
پیادهسازی پاسخهای استریمشده
تنظیم stream: true برای دریافت پاسخ بهصورت رویدادهای ارسالی سرور. هر رویداد حاوی قطعهای کوچک از متن است و رویداد نهایی شامل اعداد مصرف است.
تکهها را هنگام دریافت نمایش دهید و متن کامل را در یک بافر نگه دارید تا پیام پس از پایان جریان ذخیره شود. زمان تا دریافت اولین توکن را اندازهگیری کنید؛ این عدد نشان میدهد که چت چقدر برای کاربر پاسخگو به نظر میرسد.
فعالسازی فراخوانی تابع و ابزارها
آرایه tools را با همان فرمتی که قبلاً استفاده میکردید، ارسال کنید. مدل یک فراخوانی ابزار شامل نام تابع و آرگومانهای JSON برمیگرداند. تابع را در کد خود اجرا کنید، نتیجه را به عنوان پیام ابزار ارسال کنید و پاسخ نهایی را بخوانید.
- یک ابزار با دو آرگومان ضروری تعریف کنید و آن را به تنهایی آزمایش کنید.
- موردی را تست کنید که دو فراخوانی ابزار به صورت متوالی نیاز باشد.
- آرگومانها را قبل از اجرای هر چیزی که دادهها را تغییر میدهد اعتبارسنجی کنید.
مدیریت پنجرههای زمینه و توکنها
پنجره زمینه ۱۰۰,۰۰۰ توکن است. گفتگوهای طولانی آن را پر میکنند، بنابراین نوبتهای قدیمی را حذف یا خلاصه کنید قبل از رسیدن به حد مجاز. هر درخواست میتواند تا ۱۶,۰۰۰ توکن خروجی برگرداند و پیشفرض ۲,۰۴۸ است، بنابراین تنظیم max_tokens برای پاسخهایی که انتظار دارید.
توکنها را از فیلد usage هر پاسخ بشمارید. تخمینها بر اساس شمارش کلمات اغلب برای کد و متنهای غیرانگلیسی با حاشیه خطای زیادی از واقعیت فاصله دارند.
مدیریت محدودیت نرخ و تلاش مجدد
هر کلید اجازه ۳۰۰ درخواست در دقیقه و ۸ درخواست همزمان را میدهد. وقتی از محدودیت عبور میکنید، پاسخ ۴۲۹ دریافت میکنید. فقط پاسخهای ۴۲۹ و 5xx را با بازگشت نمایی و یک سقف برای کل زمان انتظار مجدداً تلاش کنید.
هرگز خطای 400 یا 401 را مجدداً تلاش نکنید، زیرا همان درخواست به همان شکل شکست میخورد. ابتدا درخواست یا کلید را اصلاح کنید.
اشکالزدایی خطاهای رایج API
| وضعیت | علت معمول | چه کاری باید انجام دهید |
|---|---|---|
| 400 | JSON نامعتبر یا فیلد ناشناخته | بدنه درخواست را با فرمتی که ارسال میکنید مقایسه کنید |
| 401 | کلید گمشده یا نادرست | کلید را دوباره کپی کنید و هدر Authorization را بررسی کنید |
| 402 | اعتبار مصرف شده | موجودی را افزایش دهید؛ حداقل مبلغ شارژ ۲۰ دلار است. |
| 429 | رسیدن به محدودیت نرخ | عقبنشینی و تلاش مجدد بعداً |
کد وضعیت و شناسه درخواست را برای هر شکست ثبت کنید، تا بتوانید مشکل را به سرعت ردیابی کنید.
مهاجرت از APIهای رقبا
حرکت را در سه مرحله برنامهریزی کنید: یک محیط آزمایشی، یک سهم کوچک از ترافیک زنده، و سپس تغییر کامل. هر دو URL پایه را در پیکربندی در مرحله میانی نگه دارید و پاسخها و تأخیر را بر روی همان پرامپتها مقایسه کنید.
هزینه را بر اساس استفاده واقعی خود مقایسه کنید، نه بر اساس قیمتهای لیست. تعداد توکنهای ورودی و خروجی را از بخش استفاده ضربدر $0.15 و $0.50 به ازای هر 1M توکن قرار دهید و آن را با صورتحساب فعلی خود مقایسه کنید.
پرسشهای رایج
آیا باید فرمت درخواست خود را تغییر دهم؟
خیر. این اندپوینت از قالب تکمیلهای چت پیروی میکند، بنابراین همان ساختار پیامها و ابزارها کار میکند. تنها URL پایه و کلید تغییر میکند.
کدام model id را باید استفاده کنم؟
از uncensored استفاده کنید. این تنها مدل روی سرویس است، بنابراین شناسه در هر درخواست ثابت میماند.
چگونه یک کلید برای تست بگیرم؟
با گوگل یا ایمیل و رمز عبور ثبتنام کنید. کلید روی صفحه ظاهر میشود و حساب با $0.50 اعتبار آزمایشی که به مدت 7 days معتبر است شروع میشود. نیاز به کارت بانکی نیست.
چگونه برای مصرف پرداخت کنم؟
شارژ حساب با USDT روی TRC20 یا USDC روی Base، شروع از مبلغ $20. اعتبار هدیه از مبلغ $50 اعمال میشود و اعتبار منقضی نمیشود.
کلید خود را دسترسی پیدا کنید
ثبتنام کنید، کلید را دریافت کنید و URL پایه را بهروز کنید. این تمام فرآیند است.