آموزش کامل MiniMax M3؛ مدل چندوجهی برای برنامه‌نویسی، ویدئو و ساخت AI Agent

MiniMax M3 مدلی چندوجهی با Context یک میلیون توکنی برای برنامه‌نویسی، تحلیل تصویر و ویدئو و ساخت AI Agent است. در این راهنما استفاده از آن با API درواره را عملی یاد می‌گیرید.

Share
آموزش کامل MiniMax M3؛ مدل چندوجهی برای برنامه‌نویسی، ویدئو و ساخت AI Agent

MiniMax M3 یک مدل هوش مصنوعی چندوجهی یا Multimodal است که برای برنامه‌نویسی، استدلال عامل‌محور، استفاده از ابزارها، پردازش Context طولانی و تحلیل هم‌زمان متن، تصویر و ویدئو طراحی شده است.

بسیاری از مدل‌های زبانی می‌توانند به سؤال پاسخ دهند یا قطعه‌کدی تولید کنند؛ اما MiniMax M3 بیشتر برای سناریوهایی ساخته شده که مدل باید چند مرحله فکر کند، ابزار مناسبی انتخاب کند، نتیجه اجرای ابزار را ببیند و سپس مسیر خود را اصلاح کند.

این مدل می‌تواند در ساخت محصولات زیر استفاده شود:

  • دستیار برنامه‌نویسی
  • Coding Agent
  • Agent تحقیقاتی
  • دستیار تحلیل اسناد
  • سیستم تحلیل رابط کاربری از روی Screenshot
  • ابزار بررسی ویدئو
  • دستیار پشتیبانی فنی چندوجهی
  • Agent متصل به APIهای سازمانی
  • سیستم تحلیل Repositoryهای بزرگ
  • اتوماسیون فرایندهای چندمرحله‌ای

MiniMax M3 از Context Window بسیار بزرگ پشتیبانی می‌کند و براساس مستندات رسمی MiniMax، ظرفیت Context آن تا یک میلیون Token اعلام شده است. این مدل همچنین می‌تواند ورودی متنی، تصویر و ویدئو را در قالب درخواست Chat Completions پردازش کند.

توسعه‌دهندگان ایرانی می‌توانند از طریق API درواره به این مدل متصل شوند و بدون تغییر گسترده در معماری پروژه، آن را با SDKهای سازگار در Python، JavaScript، TypeScript و سایر زبان‌ها به کار بگیرند.

برای بررسی وضعیت ارائه مدل و قیمت به‌روز آن به صفحه مدل‌های درواره مراجعه کنید.

مشخصات MiniMax M3

ویژگیتوضیح
نام مدلMiniMax M3
خانوادهMiniMax M-Series
نوع مدلMultimodal Large Language Model
ورودی متنیدارد
ورودی تصویردارد
ورودی ویدئودارد
خروجیمتن
Context Windowتا یک میلیون Token
برنامه‌نویسیمناسب وظایف پیچیده و چندمرحله‌ای
Reasoningمناسب استدلال Agentic
Tool Callingدارد
Interleaved Thinkingدارد
کاربرد اصلیCoding، AI Agent، تحلیل چندوجهی و Long Context
Model ID دروارهminimax/minimax-m3
Base URL دروارهhttps://api.darvareh.ir/v1

مدل‌ها، محدودیت‌های هر مسیر API و شناسه‌های فعال ممکن است به‌روزرسانی شوند. پیش از استقرار در محیط Production، Model ID و قابلیت‌های فعال را در فهرست مدل‌های درواره بررسی کنید.

MiniMax M3 چه تفاوتی با مدل‌های معمولی دارد؟

چهار ویژگی MiniMax M3 را از یک چت‌بات ساده متمایز می‌کند:

  1. پردازش Context بسیار طولانی
  2. پشتیبانی از ورودی چندوجهی
  3. تمرکز بر برنامه‌نویسی و وظایف Agentic
  4. استدلال میان فراخوانی ابزارها

در یک چت‌بات ساده، جریان معمولاً به شکل زیر است:

درخواست کاربر ← پاسخ مدل

اما در یک Agent مبتنی بر MiniMax M3، فرایند می‌تواند چنین باشد:

درخواست کاربر
برنامه‌ریزی مدل
انتخاب ابزار
اجرای ابزار توسط Backend
دریافت نتیجه ابزار
استدلال مجدد مدل
انتخاب ابزار بعدی
تولید پاسخ نهایی

این تفاوت در پروژه‌هایی اهمیت دارد که پاسخ نهایی باید براساس اطلاعات واقعی و نتیجه عملیات خارجی ساخته شود.

Context یک میلیون توکنی MiniMax M3 چه کاربردی دارد؟

Context Window فضایی است که مدل برای پردازش پیام‌ها، اسناد، کدها، خروجی ابزارها، تصاویر، ویدئوها و پاسخ نهایی در اختیار دارد.

ظرفیت یک میلیون Token می‌تواند برای کاربردهای زیر مفید باشد:

  • بررسی Repositoryهای بزرگ
  • تحلیل مستندات طولانی
  • پردازش تعداد زیادی Log
  • نگهداری تاریخچه Agent
  • مقایسه نسخه‌های مختلف یک پروژه
  • تحلیل چند سند سازمانی
  • Refactoring چندماژوله
  • تحلیل جلسات و ویدئوهای طولانی
  • کار با مجموعه بزرگی از Ticketهای پشتیبانی
  • تحقیق چندمرحله‌ای روی منابع متعدد

بااین‌حال، Context بزرگ نباید باعث شود تمام اطلاعات موجود را بدون فیلتر برای مدل ارسال کنید.

چرا نباید همیشه از تمام Context استفاده کنیم؟

ارسال Context بسیار بزرگ ممکن است:

  • هزینه درخواست را افزایش دهد.
  • Latency را بیشتر کند.
  • اطلاعات نامرتبط وارد تصمیم مدل کند.
  • احتمال نادیده‌گرفتن جزئیات مهم را افزایش دهد.
  • Debug کردن فرایند را دشوار کند.
  • Cache و نگهداری تاریخچه را پیچیده‌تر کند.

راهکار بهتر این است که اطلاعات را براساس ارتباط با وظیفه انتخاب کنید.

برای مثال، اگر کاربر می‌خواهد یک باگ در ماژول پرداخت اصلاح شود، معمولاً نیازی نیست فایل‌های مربوط به رابط کاربری پنل مدیریت یا سرویس ارسال ایمیل نیز از ابتدا وارد Context شوند.

مدل چندوجهی یا Multimodal چیست؟

یک مدل Multimodal می‌تواند بیش از یک نوع داده را در ورودی پردازش کند. MiniMax M3 علاوه بر متن، از تصویر و ویدئو نیز پشتیبانی می‌کند.

این قابلیت به توسعه‌دهنده اجازه می‌دهد محصولاتی بسازد که فقط به Prompt متنی محدود نیستند.

کاربرد ورودی تصویر

  • تحلیل Screenshot خطا
  • استخراج اطلاعات از نمودار
  • بررسی رابط کاربری
  • مقایسه طرح با پیاده‌سازی
  • تحلیل تصویر محصول
  • پاسخ به سؤال درباره یک تصویر
  • تولید توضیحات برای تصویر
  • بررسی فرم‌ها و اسناد تصویری
  • تبدیل Mockup به توضیحات فنی
  • کمک به Debug خطاهای بصری

کاربرد ورودی ویدئو

  • خلاصه‌سازی ویدئو
  • تحلیل مراحل انجام یک کار
  • استخراج رویدادهای مهم
  • پاسخ به سؤال درباره محتوای ویدئو
  • تحلیل ویدئوی آموزشی
  • تهیه Timeline
  • استخراج نیازمندی از ویدئوی Demo
  • بررسی جریان کار یک نرم‌افزار
  • ساخت گزارش از جلسه ضبط‌شده
  • تحلیل تجربه کاربری از Screen Recording

ورودی تصویر یا ویدئو در این مدل به معنی تولید تصویر و ویدئو نیست. MiniMax M3 یک مدل تحلیل و تولید متن چندوجهی است. برای تولید رسانه باید از مدل‌های مخصوص Image Generation یا Video Generation استفاده شود.

Interleaved Thinking چیست؟

یکی از قابلیت‌های مهم MiniMax M3، Interleaved Thinking یا استدلال میان فراخوانی ابزارها است.

در یک Agent ساده ممکن است مدل در ابتدای کار برنامه‌ای بسازد و سپس بدون بازنگری، ابزارها را یکی پس از دیگری فراخوانی کند. اگر نتیجه یک ابزار با پیش‌بینی مدل متفاوت باشد، ادامه برنامه می‌تواند اشتباه شود.

در Interleaved Thinking، مدل پس از هر مرحله فرصت دارد وضعیت جدید را بررسی کند.

برای مثال:

  1. Agent تصمیم می‌گیرد فایل تنظیمات را بخواند.
  2. ابزار، فایل را برمی‌گرداند.
  3. مدل محتوای واقعی فایل را تحلیل می‌کند.
  4. براساس وابستگی‌های مشاهده‌شده، فایل بعدی را انتخاب می‌کند.
  5. تست‌ها اجرا می‌شوند.
  6. مدل خطای واقعی تست را می‌بیند.
  7. فرضیه قبلی خود را اصلاح می‌کند.
  8. تغییر مناسب‌تری پیشنهاد می‌دهد.

طبق راهنمای Tool Use مدل M3، مدل می‌تواند میان مراحل استفاده از ابزار درباره وضعیت و نتیجه عملیات استدلال کند. این قابلیت برای Agentهای طولانی و وظایف پیچیده اهمیت زیادی دارد.

MiniMax M3 برای چه کاربردهایی مناسب است؟

۱. ساخت Coding Agent

Coding Agent یک دستیار متنی ساده نیست. چنین سیستمی می‌تواند:

  • ساختار پروژه را بررسی کند.
  • فایل‌های مرتبط را پیدا کند.
  • کد موجود را تحلیل کند.
  • برای تغییرات برنامه بریزد.
  • Patch تولید کند.
  • تست اجرا کند.
  • خطاهای تست را بررسی کند.
  • کد را اصلاح کند.
  • گزارش نهایی ارائه دهد.

MiniMax M3 به‌دلیل Context طولانی، Tool Calling و تمرکز بر Coding می‌تواند به‌عنوان مدل اصلی چنین سیستمی استفاده شود.

۲. تحلیل یک Repository بزرگ

مدل می‌تواند با دسترسی کنترل‌شده به ابزارهای خواندن و جست‌وجوی فایل به سؤالاتی مانند این پاسخ دهد:

  • معماری پروژه چگونه است؟
  • Entry Point برنامه کجاست؟
  • یک درخواست HTTP از چه لایه‌هایی عبور می‌کند؟
  • کدام فایل‌ها به یک Interface وابسته‌اند؟
  • تغییر Schema چه بخش‌هایی را تحت‌تأثیر قرار می‌دهد؟
  • تست‌های مرتبط با یک قابلیت کجا قرار دارند؟
  • علت احتمالی یک خطای چندسرویسی چیست؟
  • کدام ماژول‌ها Technical Debt بیشتری دارند؟

برای جلوگیری از پاسخ حدسی، باید در System Prompt مشخص کنید که مدل پیش از نتیجه‌گیری، فایل‌های مرتبط را از طریق ابزار بخواند.

۳. تبدیل Screenshot به کد

می‌توان Screenshot یک رابط کاربری را همراه با دستورهای دقیق به مدل داد و از آن خواست:

  • اجزای صفحه را شناسایی کند.
  • سلسله‌مراتب Componentها را پیشنهاد دهد.
  • رنگ‌ها و فاصله‌ها را تخمین بزند.
  • کد React یا Vue تولید کند.
  • Responsive Behavior را توضیح دهد.
  • وضعیت‌های Loading و Error را اضافه کند.
  • Accessibility را بررسی کند.

خروجی مدل از روی Screenshot ممکن است دقیقاً با فایل طراحی یکسان نباشد. برای نتیجه بهتر باید Design Tokenها، فونت، Breakpoint و Framework هدف را نیز مشخص کنید.

۴. تحلیل Screen Recording

فرض کنید کاربر یک ویدئو از بروز مشکل در نرم‌افزار ارسال می‌کند. مدل می‌تواند:

  • توالی اقدامات کاربر را استخراج کند.
  • لحظه وقوع خطا را مشخص کند.
  • رفتار مورد انتظار و رفتار واقعی را تفکیک کند.
  • اطلاعات لازم برای بازتولید باگ را فهرست کند.
  • Bug Report اولیه بسازد.
  • بخش احتمالی سیستم را برای بررسی پیشنهاد دهد.

این قابلیت می‌تواند در سیستم‌های پشتیبانی فنی و QA بسیار کاربردی باشد.

۵. ساخت Agent تحقیقاتی

یک Research Agent متصل به ابزارهای مناسب می‌تواند:

  1. سؤال اصلی را تحلیل کند.
  2. آن را به چند سؤال کوچک‌تر تقسیم کند.
  3. منابع مرتبط را جست‌وجو کند.
  4. محتوای منابع را استخراج کند.
  5. اطلاعات متناقض را شناسایی کند.
  6. برای ادعاها مدرک جمع‌آوری کند.
  7. گزارش ساختاریافته تولید کند.

Context طولانی MiniMax M3 اجازه می‌دهد اطلاعات بیشتری در یک فرایند تحقیق نگهداری شود، اما همچنان باید منابع و ادعاها به‌صورت ساختاریافته ذخیره شوند.

۶. پردازش اسناد طولانی

از MiniMax M3 می‌توان برای موارد زیر استفاده کرد:

  • خلاصه‌سازی مستندات فنی
  • استخراج تصمیم‌های معماری
  • پاسخ به سؤال درباره چند سند
  • مقایسه دو نسخه از مستندات
  • استخراج موجودیت‌ها و روابط
  • ساخت FAQ از راهنمای محصول
  • یافتن تناقض میان اسناد
  • تبدیل مستندات به برنامه اجرایی
  • تهیه راهنمای ورود توسعه‌دهنده جدید

برای اسناد حساس یا سازمانی، سیاست نگهداری داده و سطح دسترسی کاربران باید در معماری محصول شما لحاظ شود.

۷. اتوماسیون فرایندهای سازمانی

با اتصال مدل به ابزارهای محدود می‌توان Agentهایی برای این کارها ساخت:

  • دسته‌بندی درخواست‌های داخلی
  • جمع‌آوری اطلاعات از چند سرویس
  • تولید گزارش دوره‌ای
  • تکمیل Draft مستندات
  • خلاصه‌سازی Ticketها
  • آماده‌سازی پاسخ پیشنهادی
  • تحلیل بازخورد مشتریان
  • تبدیل جلسه به Task
  • بررسی وضعیت پروژه
  • تهیه گزارش پیشرفت

مدل باید نقش تصمیم‌گیرنده و تولیدکننده پیشنهاد را داشته باشد؛ اجرای عملیات واقعی باید توسط Backend کنترل‌شده انجام شود.

مزایای MiniMax M3

ورودی متن، تصویر و ویدئو

ترکیب چند نوع ورودی امکان ساخت محصولات کاربردی‌تری نسبت به چت‌بات‌های فقط متنی فراهم می‌کند.

Context بسیار طولانی

Context یک میلیون توکنی برای پروژه‌های بزرگ، اسناد طولانی و Agentهای چندمرحله‌ای مزیت مهمی است.

مناسب برای Coding

مدل برای تولید کد ساده محدود نیست و می‌تواند در تحلیل و تغییرات سطح پروژه استفاده شود.

پشتیبانی از Tool Calling

مدل می‌تواند تشخیص دهد چه زمانی برای تکمیل وظیفه باید یک ابزار خارجی فراخوانی شود.

استدلال میان استفاده از ابزارها

Interleaved Thinking به مدل کمک می‌کند براساس نتیجه واقعی هر ابزار، تصمیم بعدی خود را بازبینی کند.

مناسب برای Agentهای چندوجهی

یک Agent می‌تواند Screenshot، ویدئو، توضیح کاربر و اطلاعات دریافت‌شده از APIهای خارجی را با یکدیگر ترکیب کند.

محدودیت‌های MiniMax M3

Context بزرگ هزینه و تأخیر دارد

ظرفیت یک میلیون توکن به این معنی نیست که استفاده از تمام آن در هر درخواست منطقی است. قیمت و محدودیت‌های فعال را در صفحه مدل‌های درواره بررسی کنید.

تحلیل تصویر جایگزین ابزارهای تخصصی نیست

اگر پروژه به اندازه‌گیری دقیق پیکسل، OCR تضمین‌شده یا تشخیص صنعتی نیاز دارد، ممکن است ترکیب مدل با ابزار تخصصی ضروری باشد.

تحلیل ویدئو ممکن است جزئیات را از دست بدهد

کیفیت نتیجه به طول، وضوح، نرخ فریم، نوع محتوا و شیوه ارسال ویدئو وابسته است. برای رویدادهای حساس بهتر است ویدئو به بخش‌های کوچک‌تر تقسیم شود.

کد تولیدشده باید تست شود

مدل ممکن است Library غیرموجود، API اشتباه یا پیاده‌سازی ناقص تولید کند. هیچ کدی نباید بدون Test و Review وارد Production شود.

Agent ممکن است بیش از حد ابزار فراخوانی کند

تعداد مراحل، مدت اجرا، هزینه و دسترسی ابزارها باید در Backend محدود شود.

ورودی چندوجهی مصرف بیشتری دارد

پردازش تصویر و ویدئو می‌تواند نسبت به ورودی متنی ساده سنگین‌تر باشد. اندازه و تعداد فایل‌ها را متناسب با نیاز کنترل کنید.

استفاده از MiniMax M3 با API درواره

برای شروع:

  1. وارد درواره شوید.
  2. حساب کاربری بسازید.
  3. API Key دریافت کنید.
  4. وضعیت مدل را در صفحه مدل‌ها بررسی کنید.
  5. درخواست را از Backend خود ارسال کنید.

تنظیمات اصلی:

Base URL: https://api.darvareh.ir/v1
Model ID درواره: minimax/minimax-m3

API Key نباید در Frontend، اپلیکیشن موبایل یا Repository عمومی قرار بگیرد.

نمونه درخواست متنی با cURL

curl https://api.darvareh.ir/v1/chat/completions \
  -H "Authorization: Bearer YOUR_DARVAREH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax/minimax-m3",
    "messages": [
      {
        "role": "system",
        "content": "You are a senior software engineer. Produce maintainable, testable and practical solutions."
      },
      {
        "role": "user",
        "content": "برای یک سرویس Node.js معماری پردازش Job با retry، idempotency، dead-letter queue و graceful shutdown طراحی کن."
      }
    ],
    "temperature": 0.2,
    "max_tokens": 5000
  }'

اتصال MiniMax M3 به Python

ابتدا SDK را نصب کنید:

pip install openai

کلید API را در متغیر محیطی قرار دهید:

export DARVAREH_API_KEY="YOUR_DARVAREH_API_KEY"

نمونه کد:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1"
)

response = client.chat.completions.create(
    model="minimax/minimax-m3",
    messages=[
        {
            "role": "system",
            "content": (
                "You are a senior Python engineer. "
                "Explain assumptions and produce testable code."
            )
        },
        {
            "role": "user",
            "content": """
یک سرویس FastAPI برای ثبت سفارش طراحی کن.

نیازمندی‌ها:
- PostgreSQL
- SQLAlchemy
- idempotency
- optimistic concurrency control
- structured error responses
- Unit Test و Integration Test
- جداسازی منطق کسب‌وکار از HTTP
"""
        }
    ],
    temperature=0.2,
    max_tokens=6000
)

print(response.choices[0].message.content)

اتصال MiniMax M3 به JavaScript

ابتدا پکیج را نصب کنید:

npm install openai

نمونه Node.js:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DARVAREH_API_KEY,
  baseURL: "https://api.darvareh.ir/v1",
});

const response = await client.chat.completions.create({
  model: "minimax/minimax-m3",
  messages: [
    {
      role: "system",
      content:
        "You are a senior TypeScript engineer. Prefer explicit, maintainable and testable solutions.",
    },
    {
      role: "user",
      content: `
یک ماژول TypeScript برای پردازش Webhook طراحی کن.

شرایط:
- امضای درخواست بررسی شود.
- رویداد تکراری دوباره پردازش نشود.
- خطاهای موقت Retry شوند.
- لاگ‌ها ساختاریافته باشند.
- تست با Vitest نوشته شود.
      `,
    },
  ],
  temperature: 0.2,
  max_tokens: 5000,
});

console.log(response.choices[0].message.content);

استفاده از Streaming

پاسخ‌های Coding و Reasoning ممکن است طولانی باشند. Streaming باعث می‌شود بخش‌های خروجی به‌تدریج به کاربر نمایش داده شوند.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1"
)

stream = client.chat.completions.create(
    model="minimax/minimax-m3",
    messages=[
        {
            "role": "user",
            "content": (
                "یک برنامه مرحله‌به‌مرحله برای مهاجرت پروژه "
                "JavaScript به TypeScript تهیه کن."
            )
        }
    ],
    temperature=0.2,
    max_tokens=5000,
    stream=True
)

for chunk in stream:
    content = chunk.choices[0].delta.content

    if content:
        print(content, end="", flush=True)

Streaming زمان کل پردازش را الزاماً کاهش نمی‌دهد، اما دریافت اولین بخش پاسخ سریع‌تر انجام می‌شود.

ارسال تصویر به MiniMax M3

در این مثال، تصویری با URL قابل‌دسترسی برای مدل ارسال می‌شود:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1"
)

response = client.chat.completions.create(
    model="minimax/minimax-m3",
    messages=[
        {
            "role": "system",
            "content": (
                "You are a senior frontend engineer and UI reviewer."
            )
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": """
این Screenshot را بررسی کن.

خروجی مورد انتظار:
1. اجزای اصلی رابط کاربری
2. سلسله‌مراتب پیشنهادی React Componentها
3. مشکلات Responsive احتمالی
4. نکات Accessibility
5. Design Tokenهای قابل استنباط
6. مواردی که از روی تصویر قابل تشخیص نیستند
"""
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/dashboard-screenshot.png"
                    }
                }
            ]
        }
    ],
    temperature=0.2,
    max_tokens=4000
)

print(response.choices[0].message.content)

URL تصویر باید برای سرویس مدل قابل‌دسترسی باشد. اگر مسیر API فعال درواره از Data URL پشتیبانی کند، می‌توان فایل را به Base64 نیز تبدیل کرد. پیش از پیاده‌سازی نهایی، قالب ورودی چندوجهی فعال را بررسی کنید.

ارسال چند تصویر برای مقایسه

یکی از کاربردهای مهم مدل، مقایسه نسخه طراحی با پیاده‌سازی واقعی است.

const response = await client.chat.completions.create({
  model: "minimax/minimax-m3",
  messages: [
    {
      role: "user",
      content: [
        {
          type: "text",
          text: `
تصویر اول طرح اصلی و تصویر دوم پیاده‌سازی فعلی است.
تفاوت‌ها را براساس layout، spacing، typography،
color، responsive behavior و component states بررسی کن.
تفاوت‌های غیرقابل‌تشخیص را حدس نزن.
          `,
        },
        {
          type: "image_url",
          image_url: {
            url: "https://example.com/design.png",
          },
        },
        {
          type: "image_url",
          image_url: {
            url: "https://example.com/implementation.png",
          },
        },
      ],
    },
  ],
  temperature: 0.1,
  max_tokens: 4000,
});

برای مقایسه دقیق‌تر، ابعاد Viewport و Device Pixel Ratio را نیز همراه تصاویر ارسال کنید.

تحلیل ویدئو با MiniMax M3

طبق مستندات رسمی مدل، MiniMax M3 می‌تواند ورودی ویدئو را در قالب Multimodal Chat دریافت کند. الگوی درخواست ممکن است براساس قابلیت فعال API متفاوت باشد.

یک درخواست مفهومی می‌تواند چنین ساختاری داشته باشد:

{
  "model": "minimax/minimax-m3",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "این ویدئوی Demo را تحلیل و مراحل کاربر، خطاها و پیشنهادهای UX را فهرست کن."
        },
        {
          "type": "video_url",
          "video_url": {
            "url": "https://example.com/product-demo.mp4"
          }
        }
      ]
    }
  ]
}

قبل از استفاده در Production، پشتیبانی video_url، فرمت فایل، حداکثر حجم، طول ویدئو و روش دسترسی به فایل را در مدل فعال درواره بررسی کنید.

پرامپت مناسب برای تحلیل ویدئو

این Screen Recording مربوط به فرایند ثبت سفارش است.

وظیفه:
1. اقدامات کاربر را به ترتیب زمانی استخراج کن.
2. لحظه شروع رفتار غیرمنتظره را مشخص کن.
3. رفتار مورد انتظار و رفتار واقعی را جدا بنویس.
4. اطلاعات لازم برای بازتولید باگ را فهرست کن.
5. فرضیات را از مشاهدات قطعی جدا کن.
6. یک Bug Report قابل ثبت در سیستم مدیریت پروژه تولید کن.

قوانین:
- چیزی را که در ویدئو دیده نمی‌شود قطعی اعلام نکن.
- زمان تقریبی هر رویداد را ذکر کن.
- اطلاعات فنی ناموجود را حدس نزن.

ساخت Tool Calling با MiniMax M3

ابزارها باید به‌صورت Schema به مدل معرفی شوند. مدل فقط درخواست استفاده از ابزار را تولید می‌کند؛ اجرای واقعی بر عهده Backend است.

نمونه ابزار جست‌وجوی مستندات:

tools = [
    {
        "type": "function",
        "function": {
            "name": "search_documentation",
            "description": (
                "Search the internal product documentation "
                "and return relevant passages."
            ),
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "The documentation search query"
                    },
                    "limit": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 10
                    }
                },
                "required": ["query"],
                "additionalProperties": False
            }
        }
    }
]

فراخوانی مدل:

response = client.chat.completions.create(
    model="minimax/minimax-m3",
    messages=[
        {
            "role": "system",
            "content": """
You are a product support agent.

Rules:
- Search the documentation before answering product questions.
- Do not invent product features.
- Cite the document title in the final answer.
- Ask for clarification when the request is ambiguous.
"""
        },
        {
            "role": "user",
            "content": (
                "چطور اعلان‌های ایمیلی حساب کاربری را غیرفعال کنم؟"
            )
        }
    ],
    tools=tools,
    tool_choice="auto",
    temperature=0.1
)

پیاده‌سازی Agent Loop در Python

import json
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DARVAREH_API_KEY"],
    base_url="https://api.darvareh.ir/v1"
)


def search_documentation(query: str, limit: int = 5) -> dict:
    # در پروژه واقعی، این بخش به موتور جست‌وجو
    # یا Vector Database متصل می‌شود.
    return {
        "query": query,
        "results": [
            {
                "title": "Email Preferences",
                "content": (
                    "Users can manage email preferences "
                    "from Settings > Notifications."
                )
            }
        ][:limit]
    }


tools = [
    {
        "type": "function",
        "function": {
            "name": "search_documentation",
            "description": "Search internal product documentation.",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string"},
                    "limit": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 10
                    }
                },
                "required": ["query"],
                "additionalProperties": False
            }
        }
    }
]

handlers = {
    "search_documentation": search_documentation
}

messages = [
    {
        "role": "system",
        "content": (
            "Use documentation tools before answering. "
            "Do not invent missing information."
        )
    },
    {
        "role": "user",
        "content": (
            "چگونه ایمیل‌های اطلاع‌رسانی غیرضروری را خاموش کنم؟"
        )
    }
]

for step in range(8):
    response = client.chat.completions.create(
        model="minimax/minimax-m3",
        messages=messages,
        tools=tools,
        tool_choice="auto",
        temperature=0.1,
        max_tokens=2000
    )

    assistant_message = response.choices[0].message
    messages.append(assistant_message)

    if not assistant_message.tool_calls:
        print(assistant_message.content)
        break

    for call in assistant_message.tool_calls:
        name = call.function.name

        try:
            arguments = json.loads(call.function.arguments)
            handler = handlers[name]
            result = handler(**arguments)
        except Exception as exc:
            result = {
                "ok": False,
                "error": str(exc)
            }

        messages.append({
            "role": "tool",
            "tool_call_id": call.id,
            "content": json.dumps(
                result,
                ensure_ascii=False
            )
        })
else:
    raise RuntimeError("Agent exceeded the maximum number of steps")

این حلقه چند نکته مهم دارد:

  • تعداد مراحل محدود است.
  • فقط ابزارهای ثبت‌شده قابل اجرا هستند.
  • آرگومان ابزار Parse می‌شود.
  • خطای ابزار به مدل بازگردانده می‌شود.
  • مدل پس از هر Tool Result می‌تواند تصمیم جدیدی بگیرد.

ساخت Coding Agent برای بررسی پروژه

ابزارهای پایه یک Coding Agent می‌توانند شامل این موارد باشند:

list_files
search_code
read_file
get_file_symbols
apply_patch
run_tests
run_linter
run_type_check
get_git_diff

همه ابزارها نباید از ابتدا مجوز تغییر فایل داشته باشند. معماری بهتر می‌تواند دو مرحله داشته باشد:

حالت بررسی

Agent فقط اجازه دارد:

  • فایل‌ها را فهرست کند.
  • کد را جست‌وجو کند.
  • فایل بخواند.
  • تست اجرا کند.
  • برنامه تغییرات بسازد.

حالت اجرا

پس از تأیید برنامه، Agent می‌تواند:

  • Patch اعمال کند.
  • Formatter اجرا کند.
  • تست اجرا کند.
  • تغییرات را اصلاح کند.

این جداسازی احتمال تغییرات ناخواسته را کاهش می‌دهد.

نمونه System Prompt برای Coding Agent

You are a repository coding agent.

Primary goal:
Complete the user's software task with the smallest maintainable change.

Rules:
- Inspect relevant files before proposing modifications.
- Follow the project's existing architecture and conventions.
- Do not invent file contents, APIs or dependencies.
- Do not change unrelated files.
- Never claim tests passed unless a test tool confirms it.
- Before editing, provide a short implementation plan.
- Validate every tool argument.
- Stop after the acceptance criteria are satisfied.
- Finish with changed files, test results and remaining risks.

ساخت Agent چندوجهی برای پشتیبانی فنی

فرض کنید کاربر Screenshot خطا، توضیح متنی و فایل Log را ارسال می‌کند. یک Agent چندوجهی می‌تواند:

  1. متن کاربر را تحلیل کند.
  2. پیام خطای موجود در تصویر را بخواند.
  3. Logهای مرتبط را جست‌وجو کند.
  4. مستندات داخلی را بررسی کند.
  5. مراحل پیشنهادی را ارائه دهد.
  6. در صورت نیاز Ticket بسازد.

ابزارهای احتمالی:

search_logs
search_documentation
get_service_status
get_account_configuration
create_support_ticket

ابزار create_support_ticket باید تنها پس از تأیید اطلاعات ضروری و رعایت قواعد کسب‌وکار اجرا شود.

طراحی Prompt برای MiniMax M3

Prompt مناسب بهتر است شش بخش داشته باشد.

۱. نقش

تو یک مهندس ارشد TypeScript با تجربه طراحی سیستم‌های Event-Driven هستی.

۲. هدف

علت پردازش تکراری Webhook را پیدا و راه‌حل قابل اجرا پیشنهاد کن.

۳. Context

رویدادها ممکن است چند بار تحویل داده شوند.
PostgreSQL پایگاه داده اصلی است.
Backend با NestJS نوشته شده است.

۴. محدودیت‌ها

قرارداد عمومی API تغییر نکند.
وابستگی جدید اضافه نشود.
تغییرات فقط به ماژول Webhook محدود باشند.

۵. معیار پذیرش

هر Event ID فقط یک بار اثر کسب‌وکاری ایجاد کند.
درخواست تکراری پاسخ موفق و پایدار دریافت کند.
رفتار Concurrent با تست بررسی شود.

۶. قالب خروجی

ابتدا علت‌های محتمل را اولویت‌بندی کن.
سپس اطلاعات موردنیاز را فهرست کن.
بعد راه‌حل را با کد و تست ارائه بده.
فرضیات را صریح مشخص کن.

Prompt مناسب برای تحلیل تصویر رابط کاربری

نقش:
تو یک طراح محصول و مهندس ارشد Frontend هستی.

ورودی:
Screenshot یک صفحه Dashboard.

وظیفه:
- اجزای صفحه را شناسایی کن.
- Component Tree پیشنهادی ارائه بده.
- Layout را برای Desktop، Tablet و Mobile توضیح بده.
- مشکلات Accessibility را پیدا کن.
- حالت‌های Loading، Empty، Error و Success را پیشنهاد بده.
- Design Tokenهای احتمالی را استخراج کن.

محدودیت:
- مقادیر دقیق نامشخص را حدس قطعی نزن.
- تفاوت مشاهده و استنباط را مشخص کن.
- از React، TypeScript و Tailwind استفاده کن.

خروجی:
1. تحلیل UI
2. Component Tree
3. مدل داده
4. کد پیشنهادی
5. نکات Responsive
6. چک‌لیست تست

Prompt مناسب برای تحلیل Repository

این Repository را برای اضافه‌کردن قابلیت Audit Log بررسی کن.

فرایند:
1. ابتدا ساختار پروژه و Entry Pointها را پیدا کن.
2. مسیر اجرای عملیات تغییردهنده داده را شناسایی کن.
3. الگوی فعلی Logging و Persistence را بررسی کن.
4. فایل‌هایی را که احتمالاً باید تغییر کنند فهرست کن.
5. قبل از ویرایش، برنامه اجرایی ارائه بده.
6. فقط پس از تأیید برنامه Patch بساز.
7. تست‌های Unit و Integration را اجرا کن.

معیارهای پذیرش:
- Actor، Action، Entity، Timestamp و Request ID ثبت شوند.
- ثبت Audit Log رفتار اصلی درخواست را مختل نکند.
- اطلاعات محرمانه داخل Log ذخیره نشود.
- تست‌ها نتیجه واقعی اجرای ابزار را نشان دهند.

تنظیم Temperature

کاربردTemperature پیشنهادی اولیه
Tool Calling0 تا 0.2
رفع باگ0 تا 0.2
تولید کد0.1 تا 0.3
تحلیل تصویر فنی0.1 تا 0.3
تحلیل اسناد0.1 تا 0.3
طراحی معماری0.2 تا 0.5
ایده‌پردازی UI0.5 تا 0.8
تولید چند پیشنهاد خلاقانه0.6 تا 0.9

این اعداد نقطه شروع هستند. مقدار مناسب باید با Evaluation روی داده واقعی تعیین شود.

مدیریت Context طولانی

برای استفاده حرفه‌ای از Context بزرگ، بهتر است سه نوع اطلاعات را جدا کنید.

Context ثابت

اطلاعاتی که در طول فرایند تغییر نمی‌کنند:

  • هدف اصلی
  • قواعد پروژه
  • معماری
  • محدودیت‌ها
  • معیارهای پذیرش

State جاری

اطلاعاتی که در هر مرحله تغییر می‌کنند:

  • مرحله فعلی
  • فایل‌های بررسی‌شده
  • فرضیه‌های فعال
  • خطاهای باز
  • ابزارهای اجراشده
  • نتیجه تست‌ها

شواهد

داده‌هایی که نتیجه‌گیری باید به آن‌ها متکی باشد:

  • محتوای فایل
  • خروجی تست
  • نتیجه API
  • بخش مستندات
  • Timestamp ویدئو
  • اطلاعات استخراج‌شده از تصویر

این تفکیک از گم‌شدن هدف در تاریخچه طولانی جلوگیری می‌کند.

فشرده‌سازی تاریخچه Agent

در Agent طولانی، تمام خروجی‌های قدیمی نباید برای همیشه در پیام‌ها باقی بمانند. پس از چند مرحله می‌توانید خلاصه‌ای ساختاریافته تولید کنید:

{
  "goal": "Fix duplicate webhook processing",
  "completed_steps": [
    "Inspected webhook controller",
    "Found missing unique constraint",
    "Reviewed existing transaction helper"
  ],
  "current_hypothesis": "Concurrent requests create duplicate records",
  "open_questions": [
    "Does the provider retry 5xx responses?"
  ],
  "test_status": {
    "existing_tests": "passed",
    "new_concurrency_test": "failed before fix"
  },
  "next_action": "Implement unique event constraint and conflict handling"
}

خلاصه نباید شواهد مهم یا خطاهای حل‌نشده را حذف کند.

استفاده از RAG در کنار MiniMax M3

حتی با Context یک میلیون توکنی، RAG همچنان مفید است.

RAG کمک می‌کند:

  • فقط بخش‌های مرتبط اسناد بازیابی شوند.
  • منابع پاسخ مشخص باشند.
  • اسناد بدون بازنویسی Prompt به‌روزرسانی شوند.
  • هزینه ورودی کاهش یابد.
  • دسترسی کاربران به اسناد کنترل شود.
  • جست‌وجوی سازمانی مقیاس‌پذیرتر شود.

جریان معمول RAG:

سؤال کاربر
تبدیل سؤال به Query
بازیابی اسناد مرتبط
ساخت Context
ارسال به MiniMax M3
تولید پاسخ همراه با منبع

برای پاسخ‌های حساس به صحت، از مدل بخواهید فقط براساس Context بازیابی‌شده پاسخ دهد و نبود اطلاعات را صریح اعلام کند.

Structured Output

اگر پاسخ قرار است توسط برنامه پردازش شود، به‌جای متن آزاد از خروجی JSON با Schema مشخص استفاده کنید.

نمونه Schema تحلیل Screenshot:

{
  "page_type": "dashboard",
  "components": [
    {
      "name": "RevenueChart",
      "type": "chart",
      "confidence": 0.92
    }
  ],
  "accessibility_issues": [
    {
      "issue": "Low color contrast",
      "severity": "medium",
      "evidence": "Secondary text appears faint"
    }
  ],
  "unknowns": [
    "Keyboard navigation behavior",
    "Exact responsive breakpoints"
  ]
}

پشتیبانی دقیق Response Format و JSON Schema را برای Model ID فعال در درواره بررسی کنید. در هر حالت، JSON خروجی را در Backend با Pydantic، Zod یا JSON Schema Validator اعتبارسنجی کنید.

نمونه Validation با Pydantic

from typing import Literal
from pydantic import BaseModel, Field


class Finding(BaseModel):
    title: str
    severity: Literal["low", "medium", "high"]
    explanation: str
    confidence: float = Field(ge=0, le=1)


class AnalysisResult(BaseModel):
    summary: str
    findings: list[Finding]
    unknowns: list[str]

اگر خروجی معتبر نبود، می‌توانید یک بار با پیام خطای Validation از مدل بخواهید پاسخ را اصلاح کند. تعداد تلاش‌های اصلاح باید محدود باشد.

معماری Production برای MiniMax M3

API Gateway داخلی

درخواست کاربران را دریافت کرده و وظایف زیر را انجام می‌دهد:

  • احراز هویت
  • Rate Limiting
  • محدودیت حجم ورودی
  • ثبت Request ID
  • بررسی نوع فایل
  • مدیریت دسترسی

Media Processor

تصویر و ویدئو را پیش از ارسال آماده می‌کند:

  • بررسی فرمت
  • تغییر اندازه تصویر
  • کاهش حجم
  • استخراج Metadata
  • تقسیم ویدئوی طولانی
  • تولید URL موقت
  • حذف فایل پس از پایان زمان نگهداری

Context Builder

Prompt، اسناد، فایل‌ها و State را به ورودی مناسب مدل تبدیل می‌کند.

Model Client

ارتباط با API درواره، Timeout، Retry، Streaming و ثبت مصرف را مدیریت می‌کند.

Tool Executor

فراخوانی ابزارها را اعتبارسنجی و در محیط محدود اجرا می‌کند.

State Store

وضعیت Agent و نتایج مراحل را در Redis، PostgreSQL یا سیستم مناسب ذخیره می‌کند.

Evaluator

ساختار و کیفیت خروجی را قبل از نمایش یا اجرای مرحله بعد بررسی می‌کند.

نکات استفاده از تصویر و ویدئو در Production

  • فایل‌های غیرضروری را نگهداری نکنید.
  • اندازه فایل را محدود کنید.
  • فرمت‌های مجاز را مشخص کنید.
  • برای URL فایل زمان انقضا تعریف کنید.
  • فایل را قبل از ارسال بررسی کنید.
  • تصاویر بسیار بزرگ را متناسب با نیاز Resize کنید.
  • ویدئوهای طولانی را بخش‌بندی کنید.
  • Timestampها را همراه هر بخش نگه دارید.
  • نتیجه مدل را به فایل و بخش مربوط پیوند دهید.
  • برای عملیات مهم، بازبینی انسانی داشته باشید.

کنترل هزینه MiniMax M3

برای مدیریت هزینه:

  • درخواست‌های ساده را به مدل کوچک‌تر Route کنید.
  • تصاویر را بدون دلیل با وضوح بسیار زیاد ارسال نکنید.
  • ویدئو را به بخش‌های مرتبط تقسیم کنید.
  • خروجی ابزارهای قدیمی را خلاصه کنید.
  • Context تکراری را Cache کنید.
  • تعداد Tool Callها را محدود کنید.
  • max_tokens را براساس کاربرد تنظیم کنید.
  • درخواست تکراری را دوباره پردازش نکنید.
  • مصرف را به تفکیک کاربر و قابلیت ثبت کنید.
  • هزینه هر نتیجه موفق را اندازه بگیرید.

قیمت مدل ممکن است تغییر کند. برای اطلاع از قیمت روز به صفحه مدل‌های درواره مراجعه کنید.

Model Routing پیشنهادی

MiniMax M3 را برای وظایفی استفاده کنید که واقعاً از قابلیت‌های آن بهره می‌برند.

def select_model(task: dict) -> str:
    if task.get("has_video"):
        return "minimax/minimax-m3"

    if task.get("has_image") and task.get("requires_reasoning"):
        return "minimax/minimax-m3"

    if task.get("requires_long_context"):
        return "minimax/minimax-m3"

    if task.get("requires_tools") and task.get("complexity") == "high":
        return "minimax/minimax-m3"

    if task.get("type") in {
        "repository_analysis",
        "multi_file_refactor",
        "long_horizon_agent"
    }:
        return "minimax/minimax-m3"

    return "YOUR_LIGHTWEIGHT_MODEL_ID"

Model ID جایگزین را براساس مدل‌های فعال درواره انتخاب و از طریق Configuration مدیریت کنید.

Retry، Timeout و Idempotency

درخواست مدل ممکن است با خطای موقت شبکه یا محدودیت ظرفیت مواجه شود. برای درخواست‌های قابل Retry از Exponential Backoff استفاده کنید.

import random
import time


def retry(operation, attempts: int = 4):
    for attempt in range(attempts):
        try:
            return operation()
        except Exception:
            if attempt == attempts - 1:
                raise

            wait = min(2 ** attempt, 8)
            time.sleep(wait + random.uniform(0, 0.5))

در Production باید نوع خطا را بررسی کنید. خطاهای مربوط به ورودی نامعتبر یا API Key اشتباه نباید Retry شوند.

برای وظایف طولانی یک job_id و idempotency_key تعریف کنید تا Retry باعث ایجاد چند اجرای مستقل نشود.

ارزیابی MiniMax M3

قبل از انتخاب نهایی، مدل را روی داده واقعی محصول خود ارزیابی کنید.

معیارهای Coding

  • درصد تست‌های پاس‌شده
  • صحت Patch
  • تعداد فایل‌های غیرمرتبط تغییریافته
  • رعایت معماری پروژه
  • نرخ تولید API غیرواقعی
  • کیفیت تست‌های تولیدشده
  • تعداد اصلاحات انسانی

معیارهای Agent

  • انتخاب صحیح ابزار
  • تعداد Tool Callهای غیرضروری
  • نرخ تکمیل وظیفه
  • حفظ هدف در اجرای طولانی
  • تشخیص درست پایان کار
  • مدیریت خطای ابزار
  • هزینه هر اجرای موفق

معیارهای تصویر

  • شناسایی صحیح اجزا
  • تفکیک مشاهده از حدس
  • استخراج متن
  • کیفیت تحلیل UI
  • تشخیص محدودیت تصویر
  • پایداری پاسخ

معیارهای ویدئو

  • صحت Timeline
  • تشخیص رویدادهای مهم
  • کیفیت خلاصه
  • پاسخ صحیح به سؤالات
  • ارجاع درست به Timestamp
  • تشخیص اطلاعات ناموجود

MiniMax M3 برای چه پروژه‌هایی انتخاب مناسبی نیست؟

ممکن است مدل کوچک‌تر برای این وظایف منطقی‌تر باشد:

  • طبقه‌بندی ساده
  • تشخیص زبان
  • اصلاح املایی
  • استخراج چند فیلد کوتاه
  • پاسخ‌های قالبی
  • بازنویسی متن کوتاه
  • تولید عنوان
  • خلاصه‌سازی بسیار کوتاه
  • درخواست‌های پرتعداد و کم‌پیچیدگی

قدرت بیشتر مدل زمانی ارزش دارد که به بهبود قابل‌اندازه‌گیری در محصول منجر شود.

اشتباهات رایج

استفاده از مدل چندوجهی بدون نیاز واقعی

اگر ورودی فقط متن کوتاه است، لزوماً به یک مدل Multimodal قدرتمند نیاز ندارید.

ارسال ویدئوی کامل برای یافتن یک رویداد کوتاه

ابتدا با Metadata، Transcript یا تقسیم‌بندی زمانی بخش مرتبط را پیدا کنید.

اعتماد کامل به تحلیل تصویر

مدل ممکن است جزئیاتی را استنباط کند که در تصویر قطعی نیستند. از آن بخواهید Confidence و Unknownها را نیز گزارش کند.

اجرای مستقیم Tool Call

نام ابزار و آرگومان‌ها باید پیش از اجرا اعتبارسنجی شوند.

نداشتن محدودیت Agent Loop

برای تعداد مراحل، زمان اجرا، هزینه و تعداد ابزارها سقف تعیین کنید.

ادعای موفقیت بدون مدرک

Agent فقط زمانی باید موفقیت را اعلام کند که نتیجه تست یا ابزار آن را تأیید کرده باشد.

قراردادن API Key در Frontend

تمام فراخوانی‌های API درواره باید از Backend انجام شوند.

ارسال Context نامرتبط

Context بیشتر همیشه پاسخ بهتر تولید نمی‌کند. ارتباط و ساختار اطلاعات مهم‌تر از حجم آن است.

پرسش‌های متداول درباره MiniMax M3

MiniMax M3 چیست؟

MiniMax M3 یک مدل هوش مصنوعی چندوجهی برای برنامه‌نویسی، Reasoning، Tool Calling، تحلیل متن، تصویر و ویدئو و اجرای وظایف Long-Horizon است.

Context Window مدل MiniMax M3 چقدر است؟

براساس مستندات رسمی، این مدل از Context تا یک میلیون Token پشتیبانی می‌کند.

آیا MiniMax M3 تصویر را تحلیل می‌کند؟

بله، این مدل می‌تواند ورودی تصویر دریافت کرده و درباره محتوای آن پاسخ متنی تولید کند.

آیا MiniMax M3 از ویدئو پشتیبانی می‌کند؟

براساس مستندات مدل، ورودی ویدئو در Chat چندوجهی پشتیبانی می‌شود. قالب، حجم و محدودیت دقیق فایل را برای مسیر API فعال بررسی کنید.

آیا MiniMax M3 تصویر یا ویدئو تولید می‌کند؟

خیر، تمرکز M3 بر درک ورودی چندوجهی و تولید متن است. برای تولید تصویر یا ویدئو باید مدل مخصوص همان رسانه را انتخاب کنید.

آیا MiniMax M3 برای برنامه‌نویسی مناسب است؟

بله. Coding، تحلیل Repository، Refactoring، تولید تست و ساخت Coding Agent از کاربردهای اصلی آن هستند.

Interleaved Thinking چیست؟

این قابلیت به مدل اجازه می‌دهد پس از دریافت نتیجه هر ابزار، وضعیت را دوباره تحلیل و درباره اقدام بعدی تصمیم‌گیری کند.

Model ID درواره برای MiniMax M3 چیست؟

minimax/minimax-m3

برای تأیید وضعیت مدل و شناسه فعال به صفحه مدل‌های درواره مراجعه کنید.

Base URL درواره چیست؟

https://api.darvareh.ir/v1

آیا MiniMax M3 به Python متصل می‌شود؟

بله. می‌توانید با SDK سازگار، Base URL درواره و Model ID مدل را تنظیم و درخواست ارسال کنید.

آیا می‌توان MiniMax M3 را در Node.js استفاده کرد؟

بله. این مدل با ساختار Chat Completions در Backendهای JavaScript و TypeScript قابل استفاده است.

آیا MiniMax M3 برای چت‌بات ساده مناسب است؟

قابل استفاده است، اما برای درخواست‌های کوتاه ممکن است یک مدل سبک‌تر اقتصادی‌تر باشد. استفاده از Model Routing پیشنهاد می‌شود.

قیمت MiniMax M3 چقدر است؟

برای مشاهده قیمت به‌روز و شیوه محاسبه مصرف به صفحه قیمت مدل‌های درواره مراجعه کنید.

آیا کد تولیدشده توسط MiniMax M3 مستقیماً قابل استفاده است؟

کد باید با Test، Linter، Type Checker و Code Review بررسی شود. هیچ مدل هوش مصنوعی جایگزین فرایند کنترل کیفیت نرم‌افزار نیست.

جمع‌بندی

MiniMax M3 فقط یک مدل چت متنی نیست. پشتیبانی از متن، تصویر و ویدئو، Context یک میلیون توکنی، توانایی Coding، Tool Calling و Interleaved Thinking آن را به گزینه‌ای مناسب برای ساخت Agentهای چندوجهی و سیستم‌های برنامه‌نویسی هوشمند تبدیل کرده است.

بیشترین ارزش این مدل در پروژه‌هایی دیده می‌شود که حداقل یکی از نیازهای زیر را دارند:

  • Context بسیار طولانی
  • تحلیل تصویر یا ویدئو
  • اجرای چندمرحله‌ای
  • استفاده از ابزارهای خارجی
  • برنامه‌نویسی در سطح Repository
  • نگهداری هدف در Agentهای طولانی
  • ترکیب چند نوع داده در یک فرایند

برای استفاده Production، قدرت مدل به‌تنهایی کافی نیست. مدیریت Context، کنترل ابزارها، محدودیت Agent Loop، Validation خروجی، Evaluation و Observability نیز باید بخشی از معماری باشند.

برای شروع:

  1. در درواره ثبت‌نام کنید.
  2. API Key دریافت کنید.
  3. قیمت و وضعیت مدل را در صفحه مدل‌های درواره بررسی کنید.
  4. Base URL را روی https://api.darvareh.ir/v1 قرار دهید.
  5. از Model ID درواره یعنی minimax/minimax-m3 استفاده کنید.
  6. مدل را ابتدا روی مجموعه‌ای از وظایف واقعی محصول ارزیابی کنید.
  7. پس از اندازه‌گیری کیفیت، هزینه و Latency آن را وارد Production کنید.

مقالات مرتبط

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.