داشبورد توسعه‌دهنده
پرسش از هوش مصنوعی
پرسش از هوش مصنوعی

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 را بررسی کنید. توکن‌های کش‌شده بخشی از کل ورودی‌اند؛ آن‌ها را دوباره به مجموع ورودی اضافه نکنید. برآورد هزینه توکن درخواست به این صورت است:

text
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 Completionsreasoning_effortreasoning_contentmax_completion_tokens؛ فیلد قدیمی max_tokens
Messagesoutput_config.effortبلوک‌های محتوای thinkingmax_tokens
Responsesreasoning.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 نیاز دارد.

bash
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
  }'
python
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)
javascript
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 ثبت نشده است. شناسه، زمان، متن پاسخ و تعداد توکن‌های آن فرضی‌اند. به‌ویژه، ۲۰ توکن ورودی عادی و ۱۰۰ توکن خروجی فقط برای نمایش محاسبه هزینه انتخاب شده‌اند و تعداد اندازه‌گیری‌شده توکن‌های درخواست بالا نیستند. فیلدهای اختیاری مصرف، استدلال و برآورد هزینه ممکن است در پاسخ واقعی متفاوت باشند یا وجود نداشته باشند.

json
{
  "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 سازگار با OpenAI
  • v1/messages: پشتیبانی کامل از طریق فرمت API پیام‌های Anthropic
  • v1/responses: پشتیبانی جزئی (ورودی/خروجی متنی و استفاده پایه از ابزار)
python
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 خوانده می‌شود.

python
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/۱م توکن

موارد استفاده:

  • وظایف کدنویسی پیچیده و مهندسی نرم‌افزار
  • اتوماسیون عاملی و گردش‌های کاری استفاده از ابزار
  • پروژه‌های برنامه‌نویسی چند زبانه
  • بررسی و بازآرایی کد
  • تولید مستندات فنی
  • وظایف تحقیق و تحلیل
python
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 خوانده می‌شود.

python
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
  • برنامه‌های چت تعاملی که نیاز به پاسخ‌های سریع دارند
  • جلسات کدنویسی زنده و برنامه‌نویسی جفتی
  • گردش‌های کاری عاملی حساس به زمان
  • پردازش دسته‌ای با توان عملیاتی بالا
python
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 خوانده می‌شود.

python
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)
  • مدل‌سازی و تحلیل مالی
  • بررسی و بازآرایی کد
python
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 خوانده می‌شود.

python
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 برای جداسازی این محتوا در فیلد اختصاصی استفاده کنید.

python
# استفاده از 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 خوانده می‌شود.

python
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
  • برنامه‌های چت تعاملی که نیاز به پاسخ‌های سریع دارند
  • جلسات کدنویسی زنده و برنامه‌نویسی جفتی
  • گردش‌های کاری عاملی حساس به زمان
  • پردازش دسته‌ای با توان عملیاتی بالا
python
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 خوانده می‌شود.

python
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/۱م توکن

موارد استفاده:

  • کدنویسی عاملی پیچیده و توسعه نرم‌افزار
  • گردش‌های کاری همکاری تیم چند-عامل
  • توسعه سیستم‌های هوش مصنوعی خود-بهبود
  • برنامه‌های پیشرفته پیروی از مهارت
  • استقرارهای تولیدی با قابلیت اطمینان بالا
  • اتوماسیون تحقیق و توسعه
python
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 خوانده می‌شود.

python
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 برای جداسازی این محتوا در فیلد اختصاصی استفاده کنید.

python
# استفاده از 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 خوانده می‌شود.

python
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
  • هماهنگی زنده تیم چند-عامل
  • پردازش دسته‌ای با توان عملیاتی بالا
  • برنامه‌های تولیدی حساس به زمان
  • برنامه‌های چت جریانی
python
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 خوانده می‌شود.

python
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 SDKhttps://api.avalai.ir/v1/v1/chat/completionsتکمیل چت استاندارد
Anthropic SDKhttps://api.avalai.ir (بدون /v1)/v1/messagesبلوک‌های thinking بومی، استفاده از ابزار

مثال‌های استفاده ​

OpenAI SDK - استفاده پایه ​

python
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 خوانده می‌شود.

python
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 - فراخوانی تابع ​

python
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 خوانده می‌شود.

python
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 - استفاده پایه ​

python
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) پشتیبانی می‌کند که به مدل اجازه می‌دهد بین هر دور تعامل با ابزار استدلال کند. قبل از هر استفاده از ابزار، مدل روی محیط فعلی و خروجی‌های ابزار تامل می‌کند تا اقدام بعدی را تصمیم بگیرد.

python
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 به مدل اجازه می‌دهد بین تعاملات ابزار استدلال کند، که آن را برای گردش‌های کاری عاملی بسیار قدرتمند می‌سازد.

نحوه کار ​

  1. قبل از استفاده از ابزار: مدل روی محیط فعلی تامل می‌کند و تصمیم می‌گیرد کدام ابزار را فراخوانی کند
  2. بعد از نتیجه ابزار: مدل خروجی ابزار را تحلیل می‌کند و اقدام بعدی را برنامه‌ریزی می‌کند
  3. زنجیره تفکر: زنجیره استدلال کامل در طول چندین تعامل ابزار حفظ می‌شود

بهترین شیوه‌ها ​

  • حفظ پاسخ کامل: همیشه 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 ​

javascript
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 خوانده می‌شود.

python
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 ​

javascript
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-flashminimax-m3minimax-m2.7minimax-m2.5minimax-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 کدنویسی، بهره‌وریاستدلال پیچیده

منابع مرتبط ​