مستندات API
کد سازگار با OpenAI خود را در اندپوینت ما جایگذاری کنید. این راهنما نحوه اتصال، احراز هویت و استریم پاسخها را با حداقل سربار پیکربندی نشان میدهد.
احراز هویت و URL پایه
ابتدا کلاینت خود را به URL پایه صحیح اشاره دهید. ما هدرهای استاندارد OpenAI را برای سازگاری میپذیریم. کلید API شما در هدر Authorization به عنوان یک توکن bearer قرار میگیرد. آن را مستقیماً از متغیرهای محیطی خود ارسال کنید تا از رمزنگاری ثابت (hardcoding) جلوگیری شود. این پیکربندی با هر کتابخانهای که از پروتکل OpenAI پشتیبانی میکند کار میکند.
اولین درخواست
یک تکمیل چت ساده ارسال کنید تا اتصال را بررسی کنید. از شناسه مدل "uncensored" برای تولید متن استفاده کنید. نقطه پایایی JSON استاندارد شامل گزینهها و معیارهای مصرف را برمیگرداند. اگر خطای 401 دریافت کردید، فرمت کلید خود را بررسی کنید. خطای 402 نشاندهنده موجودی پیشپرداخت ناکافی است. این آزمایش سریع تأیید میکند که یکپارچهسازی شما برای ترافیک عملیاتی آماده است.
curl https://api.mistralbaseurl.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List installed python packages with versions"}]
}'
یکپارچهسازی SDK Python
پکیج OpenAI Python را پیکربندی کنید تا از URL پایه ما استفاده کند. کلید API و نام مدل را بهصورت صریح تنظیم کنید. پیامهای خود را به عنوان یک لیست از دیکشنریها با کلیدهای role و content عبور دهید. شیء پاسخ شامل متن تولید شده در choices[0].message.content است. استثناها را بهطور مناسب مدیریت کنید تا خطاهای شبکه یا محدودیت نرخ را در حین اجرا دریافت کنید.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralbaseurl.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)
راهاندازی SDK Node.js
کلاینت OpenAI را با URL پایه و کلید خود مقداردهی اولیه کنید. آرایه پیامها را با نقشهای کاربر و دستیار تعریف کنید. تابع chat.completions.create را با مدل uncensored فراخوانی کنید. پاسخ، متن تولید شده را در انتخاب اول ارائه میدهد. از این الگو برای فراخوانیهای همزمان و ناهمزمان در برنامههای Node خود استفاده کنید.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralbaseurl.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);
پاسخهای استریم
با تنظیم stream به true، پخش زنده را فعال کنید. 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)
Limits & Context Window
حساب شما از پنجره زمینه ۱۰۰,۰۰۰ توکنی پشتیبانی میکند. حداکثر خروجی ۱۶,۰۰۰ توکن در هر درخواست است. میتوانید ۳۰۰ درخواست در دقیقه ارسال کنید. فقط ۸ درخواست به صورت همزمان اجرا میشوند. درخواستهایی با اندازه بدنه بیش از ۸ مگابایت شکست میخورند. از این محدودیتها برای طراحی منطق تلاش مجدد خود استفاده کنید. خطاهایی مانند 429 نشاندهنده برخورد با محدودیت نرخ هستند. رد شدنها اعتبار مصرف نمیکنند.
پرسشهای رایج
آدرس پایه mistral برای این API چیست؟
از HTTPS://api.mistralbaseurl.com/v1 به عنوان URL پایه خود استفاده کنید. این با هر SDK سازگار با OpenAI کار میکند. کلاینت خود را به آنجا پوینت کنید و مدل را روی uncensored تنظیم کنید.
چگونه خطاهای محدود نرخ (429) را مدیریت کنم؟
هنگام تجاوز از ۳۰۰ درخواست در دقیقه خطای ۴۲۹ دریافت میکنید. در کلاینت خود بازگشت نمایی (exponential backoff) را پیادهسازی کنید. پس از دوره تأخیر مشخص شده در سربرگ retry-after دوباره تلاش کنید.
آیا مدل بدون سانسور از استریم پشتیبانی میکند؟
بله، stream را روی true در درخواست تنظیم کنید. API رویدادهای ارسالشده توسط سرور را با تغییرات توکن ارسال میکند. این قطعات را تجزیه کنید تا رابط کاربری خود را به صورت بلادرنگ بدون انتظار برای تکمیل کامل بهروزرسانی کنید.
کلید API خود را اکنون دریافت کنید
ثبتنام کنید، کلید را بردارید و URL پایه را بهروز کنید. همینقدر ساده است.