MiniMax
این صفحه اطلاعاتی درباره مدلهای MiniMax موجود در AvalAI ارائه میدهد.
MiniMax مدلهایی برای زبان، گفتار، ویدیو و موسیقی توسعه میدهد. تازهترین مدل سری M، یعنی MiniMax M3.1 Flash، برای کدنویسی، کارهای مبتنی بر ابزار و پردازش متنهای طولانی با نرخ پایینتر توکن طراحی شده است. شناسه آن در AvalAI برابر با minimax-m3.1-flash است. در بخشهای بعد، مدل M3 و نسلهای پیشین سری M نیز آمدهاند؛ هر مدل قیمتها و محدودیتهای خود را دارد. معرفی رسمی مدلها
مدلهای موجود
- MiniMax M3.1 Flash: مدل
minimax-m3.1-flashاز سطح صفر AvalAI در دسترس است و برای ورودی عادی، ورودی کششده و خروجی نرخهای جداگانه دارد. - MiniMax M3: مدل چندوجهی نسل قبل که قیمتگذاری آن به طول ورودی وابسته است.
مدلهای متن و چت
MiniMax مدلهای زبانی قدرتمندی برای تولید متن و برنامههای عاملی ارائه میدهد.
minimax-m3.1-flash
MiniMax مدل M3.1 Flash را در ۱۴۰۵-۰۷-۲۷ / (2026-10-19) برای کدنویسی، گردشهای کاری عاملی، کار با رایانه و پردازش متنهای طولانی معرفی کرد. اعلان رسمی توضیح میدهد که افزایش تنکی محاسبات به بهبود کارایی استنتاج کمک کرده است. این قابلیتها و اندازهگیریها به ارائهدهنده مربوطاند و وجود سرویس میزبانیشده کنترل رایانه یا تضمین تأخیر در AvalAI را اثبات نمیکنند.
دسترسی در AvalAI و سقفهای کاتالوگ
| مورد | مقدار در AvalAI |
|---|---|
| شناسه عمومی مدل در درخواست | minimax-m3.1-flash |
| حداقل سطح حساب | 0 |
| نقطه پایانی مشترک برای مثال پایه | POST https://api.avalai.ir/v1/chat/completions |
| سقف ورودی در کاتالوگ | 1,048,576 توکن |
| سقف خروجی در کاتالوگ | 1,048,576 توکن |
| قابلیتهای ثبتشده در کاتالوگ | فراخوانی تابع، بینایی، طرحواره پاسخ، استدلال و انتخاب ابزار |
این دو سقف، فیلدهای جداگانه کاتالوگاند و به این معنی نیستند که یک درخواست میتواند هر دو را بهطور کامل مصرف کند. راهنمای مدل MiniMax پنجره زمینه ۱٬۰۰۰٬۰۰۰ توکنی را مشخص میکند، اما مرجع Chat Completions ۵۲۴٬۲۸۸ توکن را حداکثر طول تولید و ۱۳۱٬۰۷۲ توکن را مقدار پیشنهادی اعلام میکند. این محدودیتهای ارائهدهنده با مقادیر کاتالوگ AvalAI متفاوتاند. اندازه درخواست را با زمینه و بودجه خروجی پذیرفتهشده در مسیر واقعی هماهنگ کنید؛ سقف خروجی کاتالوگ، تضمین ارائهدهنده برای تولید پاسخ یکمیلیونتوکنی نیست.
مثال این بخش، درخواست پایه متنی Chat Completions را نشان میدهد. قابلیتهای ثبتشده در کاتالوگ، ویژگیهای اعلامشده مدل را مشخص میکنند، اما پذیرش همه ساختارهای چندوجهی، فیلدهای استدلال یا ترکیبهای طرحواره سختگیرانه پاسخ را تأیید نمیکنند. مستندات Messages و Responses خود MiniMax نیز پشتیبانی از این نقاط پایانی یا ابزارهای میزبانیشده ارائهدهنده را برای این مدل در AvalAI اثبات نمیکنند. به مرجع Chat Completions مراجعه کنید و ساختار دقیق موردنیاز برنامه خود را بیازمایید.
قیمتگذاری در AvalAI و کش پرامپت
همه نرخهای جدول، دلار آمریکا بهازای ۱٬۰۰۰٬۰۰۰ توکن هستند:
| ورودی عادی | ورودی کششده | خروجی |
|---|---|---|
$0.15 | $0.015 | $0.60 |
نرخ ورودی کششده فقط برای توکنهایی اعمال میشود که واقعاً از کش خوانده شدهاند. کاتالوگ فعلی Flash نرخ جداگانهای برای ایجاد کش ندارد؛ قیمت ایجاد کش یا نرخهای وابسته به طول زمینه مدلهای قدیمیتر MiniMax را به آن تعمیم ندهید. صفحه رسمی قیمتگذاری نیز همین سه نرخ ثابت Flash را تأیید میکند.
کش پرامپت در سرویس اصلی برای درخواستهایی با حداقل ۵۱۲ توکن ورودی بهصورت خودکار پیشوندهای تکراری را شناسایی میکند. ترتیب تطبیق، فهرست ابزارها، پرامپتهای سیستمی و سپس پیامهای کاربر است. برای افزایش استفاده مجدد، محتوای ثابت را پیش از محتوای متغیر قرار دهید. MiniMax برای M3.1 Flash از cache_control دستی Anthropic پشتیبانی نمیکند. این رفتار سرویس اصلی، استفاده از کش یا عمر مشخصی برای آن را در AvalAI تضمین نمیکند. درخواست کوتاه زیر برای نمایش تولید متن است، نه آزمون کش.
در Chat Completions، مقدار واقعی usage.prompt_tokens و در صورت وجود، usage.prompt_tokens_details.cached_tokens را بررسی کنید. توکنهای کششده بخشی از کل ورودیاند؛ آنها را دوباره به مجموع ورودی اضافه نکنید. برآورد هزینه توکن درخواست به این صورت است:
USD = (uncached_input_tokens × 0.15
+ cached_input_tokens × 0.015
+ output_tokens × 0.60) / 1,000,000قابلیتها و محدودیتهای ارائهدهنده
API رسمی MiniMax برای M3.1 Flash ورودی متن، تصویر و ویدیو، فراخوانی ابزار و استدلال درهمتنیده را مستند کرده است. مدل میتواند بین نوبتهای استفاده از ابزار استدلال کند. هنگام ادامه یک گردش کاری پشتیبانیشده ابزار، پیام کامل دستیار را همراه با محتوای استدلال و فراخوانیهای ابزار به تاریخچه برگردانید. یک نوبت ساده ممکن است محتوای استدلال نداشته باشد؛ پیش از خواندن آن، وجود فیلد را بررسی کنید. جزئیات در راهنمای استفاده از ابزار آمده است.
جدول زیر نام فیلدها را در پروتکلهای سرویس اصلی MiniMax نشان میدهد:
| پروتکل سرویس اصلی | فیلد عمق تفکر | خروجی استدلال | فیلد بودجه خروجی |
|---|---|---|---|
| Chat Completions | reasoning_effort | reasoning_content | max_completion_tokens؛ فیلد قدیمی max_tokens |
| Messages | output_config.effort | بلوکهای محتوای thinking | max_tokens |
| Responses | reasoning.effort | بخشهای خروجی استدلال | max_output_tokens |
- تفکر در سرویس اصلی الزامی است. عمق تفکر مقادیر
low،medium،high،xhighوmaxرا میپذیرد و مقدار پیشفرضmaxاست. عمق بیشتر میتواند مصرف توکن خروجی و تأخیر را افزایش دهد. برای Flash، مقدارthinking: {"type": "disabled"}و عمقnoneبه خطای HTTP 400 میانجامند؛reasoning_split: falseنیز پشتیبانی نمیشود. - تنظیمات نمونهگیری در سرویس اصلی ثابتاند. MiniMax در حال حاضر از
temperature: 1وtop_p: 0.95استفاده میکند؛ ارسال مقدارهای دیگر، تولید را تنظیم نمیکند. Flash ازservice_tierپشتیبانی نمیکند، بنابراین گزینه Priority مدل MiniMax M3 به آن مربوط نیست. - خروجی ساختاریافته باید جداگانه بررسی شود. کاتالوگ AvalAI پشتیبانی از طرحواره پاسخ را ثبت کرده است، اما طرحواره فعلی درخواست Chat در MiniMax فیلد
response_formatندارد و طرحواره Responses فقطtext.format.type: "text"را فهرست میکند. از قابلیت ثبتشده در کاتالوگ، پشتیبانی سختگیرانه ارائهدهنده از JSON Schema را نتیجه نگیرید. - سرعت و نتایج آزمونها گزارش ارائهدهندهاند. اعلان رسمی، سرعت خروجی بیش از ۲۰۰ توکن در ثانیه و میانه بیش از ۱۷۰ توکن در ثانیه را گزارش میکند. این اندازهگیریها توافق سطح خدمت AvalAI نیستند. اعلان میگوید وزنهای مدل در آینده منتشر میشوند و وجود نسخه قابلدریافت Flash را تأیید نمیکند.
برای طرحوارههای متفاوت سرویس اصلی، به مراجع رسمی Chat Completions، Messages و Responses مراجعه کنید.
درخواست متنی با curl، Python و JavaScript
متغیر AVALAI_API_KEY را در محیط سمت سرور قرار دهید. هر سه زبانه، مدل، پرامپت و بودجه خروجی یکسانی را ارسال میکنند. مهلت درخواست ۶۰ ثانیه است و تلاش مجدد خودکار غیرفعال است؛ اگر مهلت درخواست تمام شود، ممکن است درخواست پیشتر پردازش و هزینه آن محاسبه شده باشد. مثال Python به بسته openai و مثال JavaScript به بسته openai در محیط Node.js با پشتیبانی از ES modules نیاز دارد.
curl --fail-with-body --connect-timeout 10 --max-time 60 --retry 0 https://api.avalai.ir/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "minimax-m3.1-flash",
"messages": [{"role": "user", "content": "Give a concise checklist for reviewing an API change."}],
"max_tokens": 256
}'import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
timeout=60.0,
max_retries=0,
)
response = client.chat.completions.create(
model="minimax-m3.1-flash",
messages=[{"role": "user", "content": "Give a concise checklist for reviewing an API change."}],
max_tokens=256,
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
timeout: 60000,
maxRetries: 0,
});
const response = await client.chat.completions.create({
model: "minimax-m3.1-flash",
messages: [{ role: "user", content: "Give a concise checklist for reviewing an API change." }],
max_tokens: 256,
});
console.log(response.choices[0].message.content);نمونه کامل پاسخ
پاسخ زیر ساختگی است و از درخواست واقعی AvalAI ثبت نشده است. شناسه، زمان، متن پاسخ و تعداد توکنهای آن فرضیاند. بهویژه، ۲۰ توکن ورودی عادی و ۱۰۰ توکن خروجی فقط برای نمایش محاسبه هزینه انتخاب شدهاند و تعداد اندازهگیریشده توکنهای درخواست بالا نیستند. فیلدهای اختیاری مصرف، استدلال و برآورد هزینه ممکن است در پاسخ واقعی متفاوت باشند یا وجود نداشته باشند.
{
"id": "chatcmpl-minimax-flash-example",
"object": "chat.completion",
"created": 1792886400,
"model": "minimax-m3.1-flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Check request and response schemas, authentication, compatibility, errors, rate limits, and tests before publishing the change."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 20,
"completion_tokens": 100,
"total_tokens": 120,
"prompt_tokens_details": {
"cached_tokens": 0
}
},
"estimated_cost": {
"unit": "0.0000630000",
"irt": null,
"exchange_rate": null
}
}برآورد نمونه برابر با (20 × 0.15 + 100 × 0.60) / 1,000,000 = USD 0.000063 است. فیلد estimated_cost.unit مبلغ دلاری را بهصورت رشته اعشاری نگه میدارد؛ irt برآورد تومان و exchange_rate نرخ تبدیل بهکاررفته در همان پاسخ است. در این نمونه، هر دو null هستند، زیرا هیچ نرخ ارزی فرض نشده است. برای حسابداری از مصرف واقعی و سوابق مالی حساب استفاده کنید؛ نبود برآورد هزینه به معنی رایگان بودن درخواست نیست.
متن پاسخ را از choices[0].message.content بخوانید و finish_reason را بررسی کنید. اگر پاسخ واقعی با length پایان یافت یا متن نهایی نداشت، پیش از کامل دانستن پاسخ، بودجه خروجی پذیرفتهشده و محتوای استدلال را بررسی کنید. برای خطاهای احراز هویت، شناسه مدل، سطح حساب یا بزرگی درخواست، وضعیت HTTP و بدنه خطا را بخوانید، درخواست را اصلاح کنید و در صورت وجود، avalai-request-id را نگه دارید. مثالها فقط یک بار درخواست میفرستند و درخواست نامعتبر و اصلاحنشده را تکرار نمیکنند.
برای اعلان دسترسی و مدلهای دیگری که همراه Flash افزوده شدهاند، افزودهشدن مدلهای Kimi، MiniMax و Meta را بخوانید.
minimax-m3
مدل minimax-m3 مدل پرچمدار جدید MiniMax است که قابلیت کدنویسی پیشرو، پنجره زمینه فوقطولانی ۱ میلیون توکنی و چندوجهی بودن بومی را در یک مدل واحد ترکیب میکند. M3 که بر پایه معماری اختصاصی توجه پراکنده MiniMax (MSA) ساخته شده است، از تجزیه خودکار وظایف، فراخوانی ابزار و استدلال چندمرحلهای پشتیبانی میکند.
ویژگیهای کلیدی:
- قابلیتهای کدنویسی و عاملی پیشرو: SWE-Bench Pro ۵۹.۰٪، Terminal-Bench 2.1 ۶۶.۰٪، MCP Atlas ۷۴.۲٪، BrowseComp ۸۳.۵
- پنجره زمینه ۱ میلیون توکنی: مبتنی بر توجه پراکنده MiniMax (MSA) برای وظایف عاملی طولانیمدت، کدنویسی طولانی و درک ویدیوهای بلند، با حداقل تضمینشده ۵۱۲K توکن
- چندوجهی بومی: آموزشدیده با دادههای چندوجهی از گام صفر، با پشتیبانی از ورودی تصویر و ویدیو
- تفکر قابل تغییر: روشن کردن استدلال برای وظایف عاملی پیچیده و طولانیمدت، یا خاموش کردن آن برای سناریوهای سریعتر و حساس به تأخیر — هر دو حالت قیمت یکسانی دارند
- وظایف خودکار طولانیمدت: قابلیت اجرای خودکار چندساعته با فراخوانی ابزار و خود-اعتبارسنجی
- قیمتگذاری مبتنی بر زمینه: نرخ استاندارد برای محدوده رایج ورودی ≤۵۱۲K، با نرخ بالاتر زمینه طولانی فقط بالای ۵۱۲K توکن
قیمتگذاری:
| سطح | ورودی | ورودی کش شده | خروجی |
|---|---|---|---|
| ≤۵۱۲K توکن | $0.60/۱م توکن | $0.12/۱م توکن | $2.40/۱م توکن |
| بالای ۵۱۲K توکن | $1.20/۱م توکن | $0.24/۱م توکن | $4.80/۱م توکن |
موارد استفاده:
- کدنویسی عاملی پیشرو و مهندسی نرمافزار
- وظایف زمینه طولانی: درک کد کل مخزن، تجزیه اسناد فوقطولانی
- درک چندوجهی با ورودی تصویر و ویدیو
- گردشهای کاری عامل خودکار طولانیمدت
- استدلال چندمرحلهای و اتوماسیون مبتنی بر ابزار
پشتیبانی اندپوینت:
v1/chat/completions: پشتیبانی کامل از طریق API سازگار با OpenAIv1/messages: پشتیبانی کامل از طریق فرمت API پیامهای Anthropicv1/responses: پشتیبانی جزئی (ورودی/خروجی متنی و استفاده پایه از ابزار)
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m3",
messages=[
{
"role": "user",
"content": "این تابع پایتون را برای عملکرد بهتر بازآرایی کن و استدلال خود را توضیح بده.",
}
],
max_tokens=8192,
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m3` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="این تابع پایتون را برای عملکرد بهتر بازآرایی کن و استدلال خود را توضیح بده.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2.1
مدل minimax-m2.1 مدل استدلال پرچمدار MiniMax با عملکرد در سطح o3 است. این مدل در قابلیتهای برنامهنویسی چند زبانه و گردشهای کاری عاملی برتری دارد.
ویژگیهای کلیدی:
- قابلیتهای استثنایی برنامهنویسی چند زبانه: عملکرد بهبود یافته سیستماتیک در Rust، Java، Golang، C++، Kotlin، Objective-C، TypeScript، JavaScript و بیشتر
- استدلال سطح o3: ترکیب استدلال عمیق با کارایی تا ۲۰ برابر بهتر
- داربست عامل/ابزار برجسته: عملکرد عالی در Claude Code، Cline، Kilo Code، Roo Code و BlackBox
- تفکر درهمتنیده (Interleaved Thinking): پشتیبانی بومی از استدلال بین تعاملات ابزار با بلوکهای
thinking - پاسخهای مختصر و کارآمد: سرعت پاسخ بهبود یافته و کاهش مصرف توکن
- پنجره متن ۲۰۴K: پشتیبانی از مکالمات گسترده و پردازش اسناد
- حداکثر ۱۲۸K توکن خروجی: قابلیت تولید گسترده برای وظایف پیچیده
- سرعت خروجی: تقریبا ۶۰ توکن در ثانیه
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.03/۱م توکن | $0.375/۱م توکن | $1.20/۱م توکن |
موارد استفاده:
- وظایف کدنویسی پیچیده و مهندسی نرمافزار
- اتوماسیون عاملی و گردشهای کاری استفاده از ابزار
- پروژههای برنامهنویسی چند زبانه
- بررسی و بازآرایی کد
- تولید مستندات فنی
- وظایف تحقیق و تحلیل
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.1",
messages=[
{
"role": "user",
"content": "یک خزنده وب همزمان در Rust با محدودیت نرخ پیادهسازی کن.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.1` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="یک خزنده وب همزمان در Rust با محدودیت نرخ پیادهسازی کن.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2.1-lightning
مدل minimax-m2.1-lightning نسخه سریعتر M2.1 است که برای سرعت بهینهسازی شده در حالی که قابلیتهای استدلال قوی را حفظ میکند.
ویژگیهای کلیدی:
- سرعت خروجی: تقریبا ۱۰۰ توکن در ثانیه (۶۰٪ سریعتر از M2.1)
- همان پنجره متن ۲۰۴K مانند M2.1
- بهینهسازی شده برای برنامههای حساس به تاخیر
- پشتیبانی کامل از فراخوانی ابزار و تابع
- حفظ کیفیت استدلال با توان عملیاتی بهبود یافته
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.03/۱م توکن | $0.375/۱م توکن | $2.40/۱م توکن |
موارد استفاده:
- کمک کد بلادرنگ و یکپارچهسازی IDE
- برنامههای چت تعاملی که نیاز به پاسخهای سریع دارند
- جلسات کدنویسی زنده و برنامهنویسی جفتی
- گردشهای کاری عاملی حساس به زمان
- پردازش دستهای با توان عملیاتی بالا
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.1-lightning",
messages=[
{
"role": "user",
"content": "تفاوت بین async/await و Promises در جاوااسکریپت را توضیح بده.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.1-lightning` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="تفاوت بین async/await و Promises در جاوااسکریپت را توضیح بده.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2.5
مدل minimax-m2.5 یکی از مدلهای پرچمدار نسل قبل MiniMax است که برای بهرهوری دنیای واقعی با عملکرد SOTA در کدنویسی، استفاده عاملی از ابزار و وظایف کار اداری طراحی شده است.
ویژگیهای کلیدی:
- عملکرد SOTA در کدنویسی: ۸۰.۲٪ در SWE-Bench Verified، ۵۱.۳٪ در Multi-SWE-Bench
- جستجو و فراخوانی ابزار پیشرفته: ۷۶.۳٪ در BrowseComp با مدیریت زمینه
- ۳۷٪ سریعتر از M2.1: بهبود تجزیه وظیفه و کارایی توکن
- معماری Spec-Writing: مدل به طور فعال ویژگیها، ساختار و طراحی UI را قبل از کدنویسی برنامهریزی میکند
- ۱۰+ زبان برنامهنویسی: Go، C، C++، TypeScript، Rust، Kotlin، Python، Java، JavaScript، PHP، Lua، Dart، Ruby
- چرخه توسعه کامل: از طراحی سیستم 0-to-1 تا بررسی و آزمایش کد 90-to-100
- یکپارچهسازی کار اداری: همکاری عمیق با متخصصان مالی، حقوقی و علوم اجتماعی
- پنجره زمینه ۲۰۴K: پشتیبانی از مکالمات گسترده و پردازش اسناد
- سرعت خروجی: تقریبا ۵۰ توکن در ثانیه
- استدلال داخلی: محتوای تفکر در تگهای
<think>قابل جداسازی با پارامترreasoning_split
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.03/۱م توکن | $0.375/۱م توکن | $1.20/۱م توکن |
موارد استفاده:
- کدنویسی عاملی و مهندسی نرمافزار
- پروژههای برنامهنویسی چند زبانه
- وظایف جستجو و تحقیق پیچیده
- اتوماسیون کار اداری (Word، PowerPoint، Excel)
- مدلسازی و تحلیل مالی
- بررسی و بازآرایی کد
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.5",
messages=[
{
"role": "user",
"content": "یک خزنده وب همزمان با محدودیت نرخ در Rust با مدیریت خطای مناسب پیادهسازی کن.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.5` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="یک خزنده وب همزمان با محدودیت نرخ در Rust با مدیریت خطای مناسب پیادهسازی کن.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
محتوای استدلال:
MiniMax M2.5 شامل قابلیتهای استدلالی داخلی است. به طور پیشفرض، فرآیند تفکر مدل در تگهای <think> و </think> در محتوای پاسخ ظاهر میشود. شما میتوانید از پارامتر reasoning_split برای جداسازی این محتوا در فیلد اختصاصی استفاده کنید.
# استفاده از reasoning_split برای جداسازی محتوای تفکر
response = client.chat.completions.create(
model="minimax-m2.5",
messages=[{"role": "user", "content": "25 ضرب در 37 چند است؟"}],
extra_body={"reasoning_split": True},
)
# دسترسی به محتوای استدلال جداشده
message = response.choices[0].message
print(f"استدلال: {message.reasoning_details}") # فرآیند تفکر
print(f"پاسخ: {message.content}") # فقط پاسخ نهایینسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.5` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="25 ضرب در 37 چند است؟",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
هنگام مدیریت تاریخچه مکالمه با فراخوانی ابزار، شیء پیام پاسخ کامل (شامل فیلد tool_calls) را برای حفظ زمینه اضافه کنید. برای جزئیات بیشتر درباره پارامتر reasoning_split، به پارامترهای اختصاصی ارائهدهنده مراجعه کنید.
minimax-m2.5-lightning
مدل minimax-m2.5-lightning نسخه فوقسریع M2.5 است که برای سرعت بهینهسازی شده در حالی که قابلیتهای یکسان را حفظ میکند.
ویژگیهای کلیدی:
- سرعت خروجی: تقریبا ۱۰۰ توکن در ثانیه (۲ برابر سریعتر از سایر مدلهای پیشرو)
- همان قابلیتهای M2.5: هوش یکسان با توان عملیاتی بالاتر
- همتراز با Claude Opus 4.6: مطابقت سرعت تکمیل با مدلهای پیشرو
- عملیات کمهزینه: ۰.۳۰ دلار در ساعت با ۱۰۰ TPS عملیات مداوم
- پنجره زمینه ۲۰۴K
- پشتیبانی کامل از کش
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.03/۱م توکن | $0.375/۱م توکن | $2.40/۱م توکن |
موارد استفاده:
- کمک کد بلادرنگ و یکپارچهسازی IDE
- برنامههای چت تعاملی که نیاز به پاسخهای سریع دارند
- جلسات کدنویسی زنده و برنامهنویسی جفتی
- گردشهای کاری عاملی حساس به زمان
- پردازش دستهای با توان عملیاتی بالا
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.5-lightning",
messages=[
{
"role": "user",
"content": "تفاوت بین async/await و Promises در جاوااسکریپت را توضیح بده.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.5-lightning` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="تفاوت بین async/await و Promises در جاوااسکریپت را توضیح بده.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2.7
مدل minimax-m2.7 یکی از مدلهای پرچمدار قبلی MiniMax است که دارای قابلیتهای انقلابی خود-تکامل است و به اولین مدلی تبدیل شده که عمیقا در تکامل خود شرکت میکند. این مدل عملکرد پیشرو در کدنویسی، وظایف عاملی و اجرای مهارتهای پیچیده را ارائه میدهد.
ویژگیهای کلیدی:
- معماری خود-تکامل: اولین مدلی که عمیقا در تکامل خود شرکت میکند، خود را بازطراحی و بهبود میبخشد
- عملکرد SOTA در کدنویسی: ۵۶.۲۲٪ در بنچمارک SWE-Pro، پیشرو در بین تمام مدلهای تجاری
- استدلال پیشرفته: مطابقت با مدلهای پیشرو بدون زمان تفکر طولانی
- پشتیبانی از تیمهای عامل: همکاری چند-عامل برای گردشهای کاری عاملی پیچیده
- ۹۷٪ پیروی از مهارت: حفظ سازگاری در ۴۰+ تعریف مهارت پیچیده
- امتیاز VIBE-Pro: ۵۵.۶٪ برای کیفیت تولید مبتنی بر vibe
- Terminal Bench 2: امتیاز ۵۷.۰٪ در وظایف مبتنی بر ترمینال
- سرعت خروجی: تقریبا ۶۰ توکن در ثانیه
- استدلال داخلی: محتوای تفکر در تگهای
<think>قابل جداسازی با پارامترreasoning_split
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.06/۱م توکن | $0.375/۱م توکن | $1.20/۱م توکن |
موارد استفاده:
- کدنویسی عاملی پیچیده و توسعه نرمافزار
- گردشهای کاری همکاری تیم چند-عامل
- توسعه سیستمهای هوش مصنوعی خود-بهبود
- برنامههای پیشرفته پیروی از مهارت
- استقرارهای تولیدی با قابلیت اطمینان بالا
- اتوماسیون تحقیق و توسعه
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.7",
messages=[
{
"role": "user",
"content": "یک معماری میکروسرویس برای ویرایشگر سند مشارکتی بلادرنگ با حل تعارض طراحی کن.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.7` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="یک معماری میکروسرویس برای ویرایشگر سند مشارکتی بلادرنگ با حل تعارض طراحی کن.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
محتوای استدلال:
MiniMax M2.7 شامل قابلیتهای استدلالی داخلی است. به طور پیشفرض، فرآیند تفکر مدل در تگهای <think> و </think> در محتوای پاسخ ظاهر میشود. شما میتوانید از پارامتر reasoning_split برای جداسازی این محتوا در فیلد اختصاصی استفاده کنید.
# استفاده از reasoning_split برای جداسازی محتوای تفکر
response = client.chat.completions.create(
model="minimax-m2.7",
messages=[
{
"role": "user",
"content": "مصالحههای بین معماریهای یکپارچه و میکروسرویس چیست؟",
}
],
extra_body={"reasoning_split": True},
)
# دسترسی به محتوای استدلال جداشده
message = response.choices[0].message
print(f"استدلال: {message.reasoning_details}") # فرآیند تفکر
print(f"پاسخ: {message.content}") # فقط پاسخ نهایینسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.7` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="مصالحههای بین معماریهای یکپارچه و میکروسرویس چیست؟",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2.7-highspeed
مدل minimax-m2.7-highspeed نسخه فوقسریع M2.7 است که برای حداکثر سرعت بهینهسازی شده در حالی که قابلیتهای خود-تکامل یکسان را حفظ میکند.
ویژگیهای کلیدی:
- سرعت خروجی: تقریبا ۱۰۰ توکن در ثانیه (سریعترین در کلاس خود)
- همان قابلیتهای M2.7: هوش خود-تکامل یکسان با توان عملیاتی بالاتر
- پشتیبانی از تیمهای عامل: قابلیتهای کامل همکاری چند-عامل با سرعت بالا
- ۹۷٪ پیروی از مهارت: حفظ سازگاری در ۴۰+ مهارت پیچیده
- عملیات کمتأخیر: ایدهآل برای برنامههای تعاملی بلادرنگ
- پشتیبانی کامل از کش با قیمتگذاری بهینه
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.60/۱م توکن | $0.06/۱م توکن | $0.375/۱م توکن | $2.40/۱م توکن |
موارد استفاده:
- گردشهای کاری عاملی بلادرنگ که نیاز به پاسخ فوری دارند
- دستیاران کدنویسی تعاملی و یکپارچهسازی IDE
- هماهنگی زنده تیم چند-عامل
- پردازش دستهای با توان عملیاتی بالا
- برنامههای تولیدی حساس به زمان
- برنامههای چت جریانی
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.7-highspeed",
messages=[
{
"role": "user",
"content": "قضیه CAP و پیامدهای آن برای طراحی پایگاه داده توزیعشده را توضیح بده.",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.7-highspeed` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="قضیه CAP و پیامدهای آن برای طراحی پایگاه داده توزیعشده را توضیح بده.",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
minimax-m2
مدل minimax-m2 مدل نسل قبلی با قابلیتهای عاملی قوی است که گزینهای مقرون به صرفه برای وظایف عمومی ارائه میدهد.
ویژگیهای کلیدی:
- پنجره متن ۲۰۴K
- قابلیتهای استدلال پیشرفته
- پشتیبانی از فراخوانی ابزار
- گزینه مقرون به صرفه برای برنامههای تولیدی
- عملکرد قوی در وظایف کدنویسی و استدلال
قیمتگذاری:
| ورودی | ورودی کش شده | ایجاد کش | خروجی |
|---|---|---|---|
| $0.30/۱م توکن | $0.03/۱م توکن | $0.375/۱م توکن | $1.20/۱م توکن |
موارد استفاده:
- تولید و درک متن عمومی
- کمک کدنویسی و تولید کد
- ایجاد محتوا و خلاصهسازی
- پاسخ به سؤالات و تحلیل
- گردشهای کاری عاملی با استفاده از ابزار
روشهای دسترسی SDK
مثال پایه مدل جدید M3.1 Flash از OpenAI SDK و /v1/chat/completions استفاده میکند و در بخش بالا آمده است. مثالهای مدلهای قدیمیتر در ادامه دو روش SDK را توضیح میدهند؛ مثالهای Messages آنها، پشتیبانی از Messages برای Flash را اثبات نمیکنند:
| SDK | آدرس پایه | اندپوینت | بهترین برای |
|---|---|---|---|
| OpenAI SDK | https://api.avalai.ir/v1 | /v1/chat/completions | تکمیل چت استاندارد |
| Anthropic SDK | https://api.avalai.ir (بدون /v1) | /v1/messages | بلوکهای thinking بومی، استفاده از ابزار |
مثالهای استفاده
OpenAI SDK - استفاده پایه
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
response = client.chat.completions.create(
model="minimax-m2.1",
messages=[
{
"role": "user",
"content": "یک سیستم احراز هویت JWT در Node.js با توکنهای تازهسازی پیادهسازی کن",
}
],
)
print(response.choices[0].message.content)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.1` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="یک سیستم احراز هویت JWT در Node.js با توکنهای تازهسازی پیادهسازی کن",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
OpenAI SDK - فراخوانی تابع
from openai import OpenAI
client = OpenAI(api_key="your-avalai-api-key", base_url="https://api.avalai.ir/v1")
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "دریافت اطلاعات آب و هوای فعلی برای یک مکان",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "نام شهر، مثلا تهران",
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "واحد دما",
},
},
"required": ["location"],
},
},
}
]
response = client.chat.completions.create(
model="minimax-m2.1",
messages=[{"role": "user", "content": "آب و هوای تهران چگونه است؟"}],
tools=tools,
tool_choice="auto",
)
print(response.choices[0].message)نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.1` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
tools = [
{
"type": "function",
"name": "get_current_weather",
"description": "Get the current weather in a given location.",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
"additionalProperties": False,
},
}
]
response = client.responses.create(
model="gpt-5.6-luna",
input="آب و هوای تهران چگونه است؟",
tools=tools,
)
for item in response.output:
if item.type == "function_call":
print(item.name, item.arguments)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
Anthropic SDK - استفاده پایه
import anthropic
client = anthropic.Anthropic(
api_key="your-avalai-api-key",
base_url="https://api.avalai.ir", # توجه: بدون /v1
)
message = client.messages.create(
model="minimax-m2.1",
max_tokens=4096,
messages=[
{"role": "user", "content": "یک سیستم احراز هویت JWT در Node.js پیادهسازی کن"}
],
)
print(message.content)Anthropic SDK - استفاده از ابزار با تفکر درهمتنیده
MiniMax M2.1 به صورت بومی از تفکر درهمتنیده (Interleaved Thinking) پشتیبانی میکند که به مدل اجازه میدهد بین هر دور تعامل با ابزار استدلال کند. قبل از هر استفاده از ابزار، مدل روی محیط فعلی و خروجیهای ابزار تامل میکند تا اقدام بعدی را تصمیم بگیرد.
import anthropic
import json
client = anthropic.Anthropic(
api_key="your-avalai-api-key",
base_url="https://api.avalai.ir", # توجه: بدون /v1
)
# تعریف ابزار: استعلام آب و هوا
tools = [
{
"name": "get_weather",
"description": "دریافت آب و هوای یک مکان، کاربر باید ابتدا مکان را مشخص کند.",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "شهر و کشور، مثلا تهران، ایران",
}
},
"required": ["location"],
},
}
]
def send_messages(messages):
response = client.messages.create(
model="minimax-m2.1",
max_tokens=4096,
messages=messages,
tools=tools,
)
return response
def process_response(response):
thinking_blocks = []
text_blocks = []
tool_use_blocks = []
for block in response.content:
if block.type == "thinking":
thinking_blocks.append(block)
print(f"💭 تفکر>\n{block.thinking}\n")
elif block.type == "text":
text_blocks.append(block)
print(f"💬 مدل>\t{block.text}")
elif block.type == "tool_use":
tool_use_blocks.append(block)
print(
f"🔧 ابزار>\t{block.name}({json.dumps(block.input, ensure_ascii=False)})"
)
return thinking_blocks, text_blocks, tool_use_blocks
# پرسش کاربر
messages = [{"role": "user", "content": "آب و هوای تهران چگونه است؟"}]
print(f"\n👤 کاربر>\t {messages[0]['content']}")
# مدل پاسخ اول را برمیگرداند (ممکن است شامل فراخوانی ابزار باشد)
response = send_messages(messages)
thinking_blocks, text_blocks, tool_use_blocks = process_response(response)
# اگر فراخوانی ابزار وجود دارد، ابزار را اجرا کن و مکالمه را ادامه بده
if tool_use_blocks:
# ⚠️ مهم: پاسخ کامل دستیار را به تاریخچه پیام اضافه کن
messages.append({"role": "assistant", "content": response.content})
# اجرای ابزار و بازگرداندن نتیجه (شبیهسازی فراخوانی API آب و هوا)
print(f"\n🔨 در حال اجرای ابزار: {tool_use_blocks[0].name}")
tool_result = "24℃، آفتابی"
print(f"📊 نتیجه ابزار: {tool_result}")
# اضافه کردن نتیجه اجرای ابزار
messages.append(
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": tool_use_blocks[0].id,
"content": tool_result,
}
],
}
)
# دریافت پاسخ نهایی
final_response = send_messages(messages)
process_response(final_response)تفکر درهمتنیده
قابلیت تفکر درهمتنیده (Interleaved Thinking) در MiniMax M2.1 به مدل اجازه میدهد بین تعاملات ابزار استدلال کند، که آن را برای گردشهای کاری عاملی بسیار قدرتمند میسازد.
نحوه کار
- قبل از استفاده از ابزار: مدل روی محیط فعلی تامل میکند و تصمیم میگیرد کدام ابزار را فراخوانی کند
- بعد از نتیجه ابزار: مدل خروجی ابزار را تحلیل میکند و اقدام بعدی را برنامهریزی میکند
- زنجیره تفکر: زنجیره استدلال کامل در طول چندین تعامل ابزار حفظ میشود
بهترین شیوهها
- حفظ پاسخ کامل: همیشه
response.contentکامل (شامل بلوکهای thinking) را به تاریخچه پیام اضافه کنید - محتوا را تغییر ندهید: بلوکهای thinking را دستنخورده نگه دارید - آنها تداوم استدلال را حفظ میکنند
- از Anthropic SDK استفاده کنید: برای پشتیبانی بومی از بلوک thinking، از Anthropic SDK با
base_url="https://api.avalai.ir"استفاده کنید
فرمت پاسخ
هنگام استفاده از Anthropic SDK، پاسخها شامل سه نوع بلوک هستند:
| نوع بلوک | توضیحات |
|---|---|
thinking | فرآیند استدلال داخلی مدل |
text | محتوای متنی خروجی مدل |
tool_use | اطلاعات فراخوانی ابزار با نام تابع و آرگومانها |
مثالهای JavaScript/TypeScript
OpenAI SDK
import { OpenAI } from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.chat.completions.create({
model: "minimax-m2.1",
messages: [
{
role: "user",
content: "یک سیستم احراز هویت JWT در Node.js با توکنهای تازهسازی پیادهسازی کن",
},
],
});
console.log(response.choices[0].message.content);نسخه معادل Responses API مدل این نسخه روی `gpt-5.5` تنظیم شده، چون `minimax-m2.1` ممکن است در دادههای فعلی AvalAI برای `/v1/responses` فعال نباشد.
وقتی مدل انتخابی از /v1/responses پشتیبانی میکند، این نسخه را کنار مثال Chat Completions استفاده کنید. messages به input منتقل میشود و متن نهایی از response.output_text خوانده میشود.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.6-luna",
instructions="You are a helpful assistant.",
input="یک سیستم احراز هویت JWT در Node.js با توکنهای تازهسازی پیادهسازی کن",
)
print(response.output_text)messages→input- پیام سیستمی →
instructionsیا آیتمdeveloper choices[0].message.content→response.output_text- برای ابزارها و خروجیهای چندوجهی،
response.outputرا بر اساسtypeبررسی کنید.
Anthropic SDK
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir", // توجه: بدون /v1
});
const message = await client.messages.create({
model: "minimax-m2.1",
max_tokens: 4096,
messages: [
{ role: "user", content: "یک سیستم احراز هویت JWT در Node.js پیادهسازی کن" }
],
});
console.log(message.content);مقایسه مدلها
ستون Flash از مقادیر کاتالوگ AvalAI استفاده میکند. محدودیتهای متفاوت زمینه و تولید در سرویس اصلی، در بخش بالا توضیح داده شدهاند؛ ستونهای مدلهای پیشین برای مراجعه حفظ شدهاند.
| ویژگی | minimax-m3.1-flash | minimax-m3 | minimax-m2.7 | minimax-m2.5 | minimax-m2.1 |
|---|---|---|---|---|---|
| پنجره متن | سقف ورودی کاتالوگ 1,048,576؛ زمینه سرویس اصلی 1,000,000 | تا ۱,۰۰۰,۰۰۰ توکن | ۲۰۴,۸۰۰ توکن | ۱,۰۰۰,۰۰۰ توکن | ۲۰۴,۸۰۰ توکن |
| ورودی چندوجهی | قابلیت بینایی در کاتالوگ؛ ارائهدهنده متن، تصویر و ویدیو را مستند کرده است | متن، تصویر، ویدیو | متن | متن | متن |
| فراخوانی ابزار | قابلیت در کاتالوگ: بله | ✓ | ✓ | ✓ | ✓ |
| قیمت ورودی | $0.15/1M | $0.60/۱م (≤۵۱۲K) | $0.30/۱م | $0.30/۱م | $0.30/۱م |
| قیمت خروجی | $0.60/1M | $2.40/۱م (≤۵۱۲K) | $1.20/۱م | $1.20/۱م | $1.20/۱م |
| بهترین برای | کدنویسی و گردشهای کاری عاملی | کدنویسی پیشرو، زمینه ۱م، چندوجهی | خود-تکامل، تیمهای عامل | SOTA کدنویسی، بهرهوری | استدلال پیچیده |