Mistral Medium 3.5 چیست؟ آموزش کامل مدل Reasoning، Coding و AI Agent با API درواره
Mistral Medium 3.5 مدل 128 میلیارد پارامتری برای Reasoning، برنامهنویسی، تحلیل تصویر و ساخت AI Agent است. در این راهنما استفاده از آن با API درواره را یاد میگیرید.
Mistral Medium 3.5 یک مدل هوش مصنوعی چندوجهی از شرکت Mistral AI است که قابلیتهای Instruction Following، Reasoning، برنامهنویسی، تحلیل تصویر، Function Calling و اجرای وظایف طولانی AI Agent را در یک مدل واحد ترکیب میکند.
این مدل برخلاف مدلهایی که فقط برای چت، استدلال یا Coding بهینه شدهاند، تلاش میکند مجموعهای از قابلیتهای عمومی و تخصصی را همزمان ارائه دهد. در نتیجه، توسعهدهنده میتواند از یک Model ID برای درخواستهای روزمره، مسائل پیچیده، تحلیل تصویر، تولید کد و Tool Calling استفاده کند.
Mistral Medium 3.5 یک مدل Dense با حدود ۱۲۸ میلیارد پارامتر و Context Window برابر با 256K Token است. این مدل برای Workflowهای طولانی و استفاده مکرر از ابزارها طراحی شده و میتواند سطح Reasoning را متناسب با پیچیدگی درخواست تغییر دهد.
کاربردهای اصلی آن عبارتاند از:
- ساخت AI Agent
- دستیار برنامهنویسی
- Coding Agent
- تحلیل Repository
- طراحی معماری
- تحقیق چندمرحلهای
- تحلیل تصویر و Screenshot
- RAG سازمانی
- پردازش اسناد طولانی
- Function Calling
- تولید Structured Output
- اتوماسیون فرایندهای چندمرحلهای
برای استفاده از Mistral Medium 3.5 میتوانید از API درواره استفاده کنید و مدل را با API سازگار با OpenAI به پروژههای Python، JavaScript، TypeScript، PHP و سایر زبانها متصل کنید.
برای مشاهده قیمت و وضعیت فعال مدل به صفحه مدلهای درواره مراجعه کنید.
مشخصات Mistral Medium 3.5
| ویژگی | توضیح |
|---|---|
| نام مدل | Mistral Medium 3.5 |
| توسعهدهنده | Mistral AI |
| نسخه | 26.04 |
| نوع مدل | Multimodal Large Language Model |
| معماری | Dense Transformer |
| تعداد پارامترها | حدود ۱۲۸ میلیارد |
| Context Window | 256K Token |
| ورودی متن | دارد |
| ورودی تصویر | دارد |
| خروجی اصلی | متن |
| Reasoning | قابل تنظیم |
| Function Calling | دارد |
| Structured Output | دارد |
| برنامهنویسی | دارد |
| FIM | طبق قابلیتهای رسمی مدل |
| کاربرد اصلی | Agentic و Coding |
| Model ID درواره | mistralai/mistral-medium-3.5 |
| Base URL درواره | https://api.darvareh.ir/v1 |
Model ID ممکن است با بهروزرسانی نسخه یا Provider تغییر کند. پیش از قراردادن آن در Production، شناسه فعال را از صفحه مدلهای درواره کپی کنید.
معماری Dense چیست؟
مدلهای زبانی بزرگ معمولاً از معماری Dense یا Mixture of Experts استفاده میکنند.
در یک مدل Dense، تمام پارامترهای اصلی مدل برای پردازش هر Token درگیر میشوند. در معماری Mixture of Experts فقط تعدادی Expert منتخب فعال میشوند.
Mistral Medium 3.5 یک مدل Dense با حدود ۱۲۸ میلیارد پارامتر است. مزایای احتمالی معماری Dense عبارتاند از:
- رفتار نسبتاً یکپارچهتر
- Routing داخلی سادهتر
- پایداری مناسب در وظایف متنوع
- استقرار قابل پیشبینیتر
- استفاده کامل از ظرفیت مدل در هر Token
در مقابل، مدل Dense ممکن است برای استنتاج به منابع محاسباتی بیشتری نسبت به یک مدل MoE با پارامتر فعال کمتر نیاز داشته باشد.
برای کاربر API، مدیریت معماری داخلی لازم نیست؛ اما نوع معماری در سرعت، هزینه و نحوه استقرار مدل اهمیت دارد.
چرا Mistral Medium 3.5 یک مدل «Merged» است؟
در مدلهای نسل قبلی، ممکن بود برای هر وظیفه به مدل متفاوتی نیاز باشد:
- مدل Instruct برای پاسخگویی
- مدل Reasoning برای مسائل پیچیده
- مدل Coding برای برنامهنویسی
- مدل Agent برای Tool Calling
Mistral Medium 3.5 این تواناییها را در یک مجموعه وزن ادغام کرده است. هدف این است که یک مدل بتواند براساس درخواست، رفتار مناسب را انتخاب کند.
برای مثال:
یک متن کوتاه را بازنویسی کن.
به Reasoning سنگین نیاز ندارد.
اما درخواست زیر پیچیدهتر است:
علت پردازش تکراری سفارشها در معماری Event-Driven را تحلیل کن،
سه راهحل را مقایسه کن و برنامه مهاجرت بدون Downtime ارائه بده.
مدل میتواند برای درخواست دوم از Reasoning بیشتری استفاده کند.
این رویکرد تعداد Model IDهای لازم در محصول را کاهش میدهد، هرچند Model Routing همچنان برای کنترل هزینه و Latency مفید است.
Reasoning قابل تنظیم
یکی از مهمترین قابلیتهای Mistral Medium 3.5، امکان کنترل میزان Reasoning است.
طبق معرفی رسمی مدل، توسعهدهنده میتواند میزان تلاش استدلالی را متناسب با درخواست تنظیم کند. بسته به مسیر API فعال، پارامتری مانند reasoning_effort ممکن است قابل استفاده باشد.
سطوح متداول میتوانند شامل این موارد باشند:
none
low
medium
high
Reasoning خاموش یا None
مناسب برای:
- بازنویسی متن
- طبقهبندی
- استخراج فیلد
- خلاصه کوتاه
- پاسخهای ساده
- تولید Boilerplate
Reasoning پایین
مناسب برای:
- پرسش عمومی
- تولید کد ساده
- تحلیل کوتاه
- Tool Calling ساده
- تولید JSON
Reasoning متوسط
مناسب برای:
- تحلیل سند
- Code Review
- رفع باگ
- طراحی API
- مقایسه چند گزینه
- Agent چندمرحلهای
Reasoning بالا
مناسب برای:
- طراحی معماری
- Debug پیچیده
- تحلیل Repository
- مهاجرت نرمافزاری
- تحقیق عمیق
- Agentهای طولانی
- ترکیب چند منبع
Reasoning بیشتر معمولاً باعث افزایش Token خروجی، زمان پاسخ و هزینه میشود. بنابراین نباید آن را برای تمام درخواستها روی بالاترین سطح قرار داد.
پشتیبانی دقیق پارامتر را برای Model ID فعال درواره بررسی کنید. اگر مسیر API آن را نپذیرفت، پارامتر را حذف کنید.
Context Window برابر با 256K Token
Mistral Medium 3.5 از Context Window برابر با 256K Token پشتیبانی میکند.
Context مجموع این اطلاعات است:
- System Prompt
- پیام کاربر
- تاریخچه گفتگو
- محتوای اسناد
- اطلاعات استخراجشده از تصویر
- خروجی ابزارها
- پاسخ در حال تولید
Context 256K برای کاربردهای زیر مناسب است:
- تحلیل اسناد طولانی
- بررسی چند سند
- پردازش Repository
- نگهداری تاریخچه Agent
- تحلیل Log
- ترکیب نتایج ابزارها
- Refactoring چندفایلی
- تحلیل گزارشهای سازمانی
بااینحال، ارسال تمام دادههای موجود همیشه روش مناسبی نیست.
اصول مدیریت Long Context
- فقط اطلاعات مرتبط را انتخاب کنید.
- اسناد را با RAG بازیابی کنید.
- نتایج را Rerank کنید.
- اطلاعات تکراری را حذف کنید.
- خروجی ابزارهای قدیمی را خلاصه کنید.
- هدف و محدودیتها را در State نگه دارید.
- اطلاعات حیاتی را بهوضوح برچسبگذاری کنید.
- برای هر سند شناسه منبع تعریف کنید.
قابلیت Multimodal
Mistral Medium 3.5 میتواند متن و تصویر را در یک درخواست پردازش کند.
کاربردهای ورودی تصویر:
- تحلیل Screenshot
- استخراج اطلاعات از نمودار
- بررسی رابط کاربری
- تحلیل Diagram
- مقایسه طرح و پیادهسازی
- پاسخ به سؤال درباره تصویر
- پردازش سند تصویری
- تحلیل جدول
- شناسایی اجزای صفحه
- تولید توضیح فنی
خروجی مدل متن است. این مدل برای تولید تصویر ساخته نشده است.
قابلیت برنامهنویسی
Mistral Medium 3.5 برای Coding و Agentic Coding بهینه شده است.
کاربردهای مهم:
- تولید کد
- توضیح کد
- Refactoring
- Code Review
- رفع باگ
- تولید تست
- طراحی API
- تحلیل Stack Trace
- مهاجرت Framework
- تحلیل Repository
- نوشتن مستندات
- تبدیل زبان برنامهنویسی
در Benchmark اعلامشده توسط سازنده، این مدل در SWE-Bench Verified عملکرد قوی نشان داده است؛ اما Benchmark عمومی جایگزین تست روی Repository واقعی شما نیست.
Agentic Workflow چیست؟
Agentic Workflow فرایندی است که مدل فقط پاسخ نهایی تولید نمیکند؛ بلکه برای رسیدن به هدف چند اقدام انجام میدهد.
جریان معمول:
هدف کاربر
برنامهریزی
انتخاب ابزار
اجرای ابزار توسط Backend
مشاهده نتیجه
اصلاح برنامه
ابزار بعدی
ارزیابی نتیجه
پاسخ نهایی
برای مثال، یک Coding Agent ممکن است:
- ساختار پروژه را فهرست کند.
- کد را جستوجو کند.
- فایل مرتبط را بخواند.
- تست را اجرا کند.
- علت خطا را پیدا کند.
- Patch تولید کند.
- تست را دوباره اجرا کند.
- نتیجه نهایی را گزارش دهد.
Mistral Medium 3.5 برای Workflowهایی طراحی شده که چند Tool Call و چند مرحله Reasoning دارند.
کاربردهای Mistral Medium 3.5
۱. ساخت دستیار سازمانی
یک دستیار سازمانی میتواند به منابع زیر متصل شود:
- مستندات
- پایگاه دانش
- CRM
- سیستم مدیریت پروژه
- اطلاعات محصول
- APIهای داخلی
- پایگاه داده
- سیستم Ticket
- گزارشهای سازمانی
مدل باید برای اطلاعات جاری از ابزار استفاده کند و داده را حدس نزند.
۲. ساخت Coding Agent
ابزارهای متداول Coding Agent:
list_files
search_code
read_file
get_symbols
apply_patch
run_tests
run_linter
run_type_check
get_git_diff
بهتر است دسترسی Agent مرحلهبندی شود:
مرحله بررسی
- خواندن فایل
- جستوجو
- اجرای تست
- طراحی برنامه تغییرات
مرحله اجرا
- اعمال Patch
- اجرای Formatter
- اجرای Test
- بررسی Diff
این جداسازی از تغییرات ناخواسته جلوگیری میکند.
۳. تحلیل Repository
مدل میتواند به سؤالهایی مانند این پاسخ دهد:
- Entry Point پروژه کجاست؟
- معماری سیستم چگونه است؟
- جریان درخواست از HTTP تا Database چیست؟
- کدام فایلها به یک Interface وابستهاند؟
- تستهای یک قابلیت کجا هستند؟
- تغییر یک Schema چه اثرهایی دارد؟
- علت احتمالی یک باگ چندماژوله چیست؟
- چه بخشهایی نیاز به Refactoring دارند؟
مدل باید پیش از نتیجهگیری فایل واقعی را از طریق ابزار بخواند.
۴. تحلیل تصویر رابط کاربری
میتوان Screenshot یک صفحه را به مدل داد و از آن خواست:
- Componentها را شناسایی کند.
- Component Tree بسازد.
- مشکلات Responsive را پیدا کند.
- Accessibility را بررسی کند.
- Stateهای ناقص را تشخیص دهد.
- Design Tokenها را استخراج کند.
- کد React پیشنهاد دهد.
مدل باید Observation را از Inference جدا کند؛ زیرا رفتارهای تعاملی از روی یک تصویر ثابت قابل تشخیص نیستند.
۵. تحقیق چندمرحلهای
یک Research Agent میتواند:
- سؤال را به زیرموضوع تقسیم کند.
- منابع را جستوجو کند.
- اطلاعات مرتبط را استخراج کند.
- ادعاها را با منابع پیوند دهد.
- تناقضها را پیدا کند.
- شکاف اطلاعاتی را مشخص کند.
- گزارش نهایی بسازد.
جستوجوی اینترنت یا منابع داخلی باید توسط ابزار انجام شود؛ مدل بهتنهایی به اطلاعات لحظهای دسترسی ندارد.
۶. RAG سازمانی
Mistral Medium 3.5 میتواند مدل تولید پاسخ در سیستم RAG باشد.
جریان پیشنهادی:
پرسش
تشخیص Intent
ساخت Query
Hybrid Search
Reranking
انتخاب اسناد
ساخت Context
تولید پاسخ
اعتبارسنجی Citation
برای اطلاعات سازمانی بهتر است پاسخ فقط براساس اسناد بازیابیشده ساخته شود.
۷. Structured Data Extraction
مدل میتواند داده را از متن یا تصویر استخراج و به JSON تبدیل کند.
کاربردها:
- استخراج مشخصات محصول
- دستهبندی بازخورد
- تبدیل ایمیل به Task
- استخراج موجودیت
- تحلیل Ticket
- استخراج داده جدول
- تبدیل گزارش به ساختار استاندارد
- تولید Metadata
تمام خروجیها باید با Schema اعتبارسنجی شوند.
۸. مهاجرت نرمافزاری
نمونه وظایف:
- JavaScript به TypeScript
- Python 2 به Python 3
- ارتقای Framework
- تغییر ORM
- مهاجرت REST API
- تبدیل Monolith به Modular Monolith
- بهروزرسانی Dependencyها
- مهاجرت Test Framework
برای پروژه بزرگ، مدل باید تغییرات را مرحلهای و قابل Rollback طراحی کند.
۹. بررسی نهایی خروجی مدلهای دیگر
در معماری چندمدلی میتوان Draft را با مدل کوچکتر تولید و Review را به Mistral Medium 3.5 سپرد.
مدل Reviewer میتواند بررسی کند:
- آیا دستور رعایت شده است؟
- پاسخ کامل است؟
- تناقض وجود دارد؟
- JSON معتبر است؟
- Citationها پشتیبانی میشوند؟
- معیار پذیرش برقرار است؟
- چه ریسکهایی باقی ماندهاند؟
مزایای Mistral Medium 3.5
ترکیب Instruct، Reasoning و Coding
برای وظایف مختلف نیاز کمتری به تغییر مدل وجود دارد.
Reasoning قابل تنظیم
میتوان میان سرعت و کیفیت تعادل ایجاد کرد.
Context برابر با 256K
برای اسناد، کد و Agentهای طولانی مناسب است.
تحلیل تصویر
مدل میتواند متن و تصویر را در یک درخواست پردازش کند.
Function Calling
برای Agentهای متصل به ابزار کاربردی است.
Structured Output
خروجی قابل پردازش برای Backend تولید میکند.
برنامهنویسی قوی
برای Coding، Code Review و Workflowهای سطح Repository مناسب است.
محدودیتهای مدل
هزینه بیشتر از مدلهای کوچک
یک مدل 128B برای طبقهبندی و استخراج ساده ممکن است بیش از نیاز باشد.
Latency Reasoning
Reasoning بالا میتواند زمان پاسخ را افزایش دهد.
خروجی متنی
مدل تصویر یا Audio تولید نمیکند.
احتمال Hallucination
ممکن است API، فایل یا اطلاعات غیرواقعی تولید کند.
کیفیت فارسی نیازمند Evaluation است
پشتیبانی چندزبانه باید روی داده واقعی فارسی آزمایش شود.
Context بزرگ تضمین کیفیت نیست
اطلاعات نامرتبط میتوانند کیفیت تصمیم مدل را کاهش دهند.
استفاده با API درواره
برای شروع:
- در درواره ثبتنام کنید.
- API Key دریافت کنید.
- مدل را در صفحه مدلها پیدا کنید.
- Model ID را کپی کنید.
- درخواست را از Backend ارسال کنید.
تنظیمات:
Base URL: https://api.darvareh.ir/v1
Model ID درواره: mistralai/mistral-medium-3.5
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": "mistralai/mistral-medium-3.5",
"messages": [
{
"role": "system",
"content": "You are a principal software engineer. State assumptions and produce practical, testable solutions."
},
{
"role": "user",
"content": "برای یک سیستم سفارش Event-Driven، معماری idempotency، retry، dead-letter queue و reconciliation را طراحی کن."
}
],
"temperature": 0.2,
"max_tokens": 6000
}'
اتصال به Python
نصب SDK:
pip install openai
تعریف API Key:
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="mistralai/mistral-medium-3.5",
messages=[
{
"role": "system",
"content": """
تو یک مهندس ارشد Python هستی.
قوانین:
- فرضیات را صریح بنویس.
- راهحل باید قابل تست باشد.
- Failure Modeها را بررسی کن.
- اطلاعات ناموجود را حدس نزن.
"""
},
{
"role": "user",
"content": """
برای FastAPI یک سرویس پردازش Webhook طراحی کن.
نیازمندیها:
- signature verification
- idempotency
- PostgreSQL
- concurrent delivery handling
- retry
- structured logging
- Unit Test و Integration Test
"""
}
],
temperature=0.2,
max_tokens=6000
)
print(response.choices[0].message.content)
اتصال به 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: "mistralai/mistral-medium-3.5",
messages: [
{
role: "system",
content:
"You are a senior TypeScript engineer. Produce maintainable and testable solutions.",
},
{
role: "user",
content: `
یک Worker با TypeScript طراحی کن.
نیازمندیها:
- retry with exponential backoff
- idempotency
- graceful shutdown
- structured logging
- timeout
- tests with Vitest
`,
},
],
temperature: 0.2,
max_tokens: 5000,
});
console.log(response.choices[0].message.content);
استفاده از 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="mistralai/mistral-medium-3.5",
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)
استفاده از Reasoning Effort
اگر این پارامتر در مسیر فعال درواره پشتیبانی شود، درخواست میتواند چنین باشد:
response = client.chat.completions.create(
model="mistralai/mistral-medium-3.5",
messages=[
{
"role": "user",
"content": (
"سه معماری برای پردازش سفارش را مقایسه "
"و بهترین گزینه را انتخاب کن."
)
}
],
reasoning_effort="high",
temperature=0.2,
max_tokens=6000
)
اگر API خطای پارامتر ناشناخته برگرداند، reasoning_effort را حذف کنید و از Prompt صریحتر استفاده کنید.
ارسال تصویر
response = client.chat.completions.create(
model="mistralai/mistral-medium-3.5",
messages=[
{
"role": "system",
"content": (
"You are a frontend engineer "
"and accessibility reviewer."
)
},
{
"role": "user",
"content": [
{
"type": "text",
"text": """
این Screenshot را تحلیل کن.
خروجی:
1. اجزای اصلی
2. Component Tree پیشنهادی
3. مشکلات UX
4. مشکلات Responsive
5. مشکلات Accessibility
6. موارد غیرقابل تشخیص
"""
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/dashboard.png"
}
}
]
}
],
temperature=0.2,
max_tokens=3500
)
پشتیبانی URL و Base64 و محدودیت اندازه تصویر را در نسخه فعال بررسی کنید.
Function Calling
تعریف ابزار وضعیت سفارش:
tools = [
{
"type": "function",
"function": {
"name": "get_order_status",
"description": (
"Get the current status of an order."
),
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": ["order_id"],
"additionalProperties": False
}
}
}
]
ارسال درخواست:
response = client.chat.completions.create(
model="mistralai/mistral-medium-3.5",
messages=[
{
"role": "system",
"content": (
"Use tools for current order data. "
"Never invent status or delivery dates."
)
},
{
"role": "user",
"content": "سفارش 8214 من چه وضعیتی دارد؟"
}
],
tools=tools,
tool_choice="auto",
temperature=0.1
)
ساخت Agent Loop
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 get_order_status(order_id: str) -> dict:
return {
"order_id": order_id,
"status": "shipped",
"tracking_code": "TRK-78421"
}
tools = [
{
"type": "function",
"function": {
"name": "get_order_status",
"description": "Get current order status.",
"parameters": {
"type": "object",
"properties": {
"order_id": {"type": "string"}
},
"required": ["order_id"],
"additionalProperties": False
}
}
}
]
handlers = {
"get_order_status": get_order_status
}
messages = [
{
"role": "system",
"content": (
"Use tools for current facts. "
"Do not invent information."
)
},
{
"role": "user",
"content": "وضعیت سفارش 8214 را بررسی کن."
}
]
for step in range(6):
response = client.chat.completions.create(
model="mistralai/mistral-medium-3.5",
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:
try:
name = call.function.name
arguments = json.loads(
call.function.arguments
)
result = handlers[name](**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 maximum steps")
Structured Output
نمونه Schema برای Code Review:
{
"summary": "string",
"decision": "approve | comment | request_changes",
"findings": [
{
"title": "string",
"severity": "low | medium | high | critical",
"file": "string",
"explanation": "string",
"suggestion": "string"
}
],
"recommended_tests": [
"string"
]
}
خروجی را با Pydantic یا Zod اعتبارسنجی کنید.
Validation با Pydantic
from typing import Literal
from pydantic import BaseModel
class Finding(BaseModel):
title: str
severity: Literal[
"low",
"medium",
"high",
"critical"
]
file: str
explanation: str
suggestion: str
class ReviewResult(BaseModel):
summary: str
decision: Literal[
"approve",
"comment",
"request_changes"
]
findings: list[Finding]
recommended_tests: list[str]
در صورت نامعتبر بودن پاسخ، فقط تعداد محدودی Retry برای اصلاح JSON انجام دهید.
پرامپت مناسب Coding Agent
You are a repository coding agent.
Goal:
Complete the task with the smallest maintainable change.
Rules:
- Inspect relevant files before editing.
- Follow existing architecture.
- Do not invent APIs, files or dependencies.
- Do not modify unrelated code.
- Provide a short plan before changes.
- Never claim tests passed without tool evidence.
- Stop when acceptance criteria are satisfied.
- Finish with changed files, test results and remaining risks.
Prompt مناسب تحلیل Repository
این Repository را برای اضافهکردن Audit Log بررسی کن.
فرایند:
1. ساختار پوشهها را بررسی کن.
2. Entry Pointها را پیدا کن.
3. جریان عملیات تغییردهنده داده را دنبال کن.
4. الگوی فعلی Logging را بررسی کن.
5. فایلهای مرتبط را فهرست کن.
6. پیش از ویرایش برنامه ارائه بده.
7. فقط فایلهای ضروری را تغییر بده.
8. تستها را اجرا کن.
معیار پذیرش:
- Actor، Action، Entity، Timestamp و Request ID ثبت شوند.
- اطلاعات محرمانه در Log قرار نگیرد.
- رفتار API عمومی تغییر نکند.
- نتیجه Test واقعی گزارش شود.
Prompt مناسب تحلیل تصویر
این Screenshot مربوط به Dashboard فروش است.
وظیفه:
- اجزای رابط را شناسایی کن.
- Component Tree پیشنهاد بده.
- Layout را در Mobile و Desktop توضیح بده.
- مشکلات Accessibility را مشخص کن.
- حالتهای Loading، Empty و Error را اضافه کن.
- Design Tokenهای قابل استنباط را استخراج کن.
قوانین:
- Observation را از Inference جدا کن.
- مقدار دقیق نامشخص را حدس قطعی نزن.
- موارد غیرقابل تشخیص را فهرست کن.
تنظیم Temperature
| وظیفه | Temperature پیشنهادی |
|---|---|
| استخراج داده | 0 تا 0.2 |
| Function Calling | 0 تا 0.2 |
| Code Review | 0 تا 0.2 |
| رفع باگ | 0 تا 0.2 |
| تحلیل سند | 0.1 تا 0.3 |
| تحلیل تصویر | 0.1 تا 0.3 |
| معماری | 0.2 تا 0.5 |
| تولید محتوا | 0.5 تا 0.8 |
| ایدهپردازی | 0.7 تا 1 |
معماری Production پیشنهادی
API Layer
- Authentication
- Rate Limit
- Validation
- Request ID
- محدودیت اندازه ورودی
Model Router
- تشخیص پیچیدگی
- انتخاب مدل
- تنظیم Reasoning
- Fallback
Context Builder
- انتخاب اسناد
- ساخت Prompt
- خلاصهسازی تاریخچه
- حذف داده تکراری
Tool Executor
- Validation ابزار
- کنترل مجوز
- Timeout
- Audit Log
State Store
- هدف Agent
- مراحل انجامشده
- نتیجه ابزارها
- خطاهای باز
- بودجه باقیمانده
Output Validator
- JSON Validation
- Citation Validation
- Acceptance Criteria
- بررسی پاسخ ناقص
Observability
- Latency
- Token مصرفی
- هزینه
- Tool Call
- نرخ خطا
- نتیجه وظیفه
Model Routing
MISTRAL_MEDIUM = "mistralai/mistral-medium-3.5"
def choose_model(task: dict) -> str:
if task.get("requires_reasoning"):
return MISTRAL_MEDIUM
if task.get("requires_vision"):
return MISTRAL_MEDIUM
if task.get("requires_tools"):
return MISTRAL_MEDIUM
if task.get("type") in {
"repository_analysis",
"software_migration",
"architecture_review",
"complex_debugging"
}:
return MISTRAL_MEDIUM
return "YOUR_LIGHTWEIGHT_MODEL_ID"
برای درخواستهای ساده از مدل اقتصادیتر موجود در درواره استفاده کنید.
کنترل هزینه
- Reasoning را فقط در صورت نیاز افزایش دهید.
- درخواستهای ساده را Route کنید.
- Context تکراری را Cache کنید.
- فقط اسناد مرتبط را ارسال کنید.
- خروجی ابزار را خلاصه کنید.
- تعداد Agent Stepها را محدود کنید.
max_tokensرا متناسب تنظیم کنید.- تصاویر را بدون نیاز با وضوح بالا نفرستید.
- مصرف را به تفکیک قابلیت ثبت کنید.
- هزینه هر نتیجه موفق را بسنجید.
برای قیمت روز از صفحه مدلهای درواره استفاده کنید.
Fallback
MODEL_CHAIN = [
"mistralai/mistral-medium-3.5",
"YOUR_FALLBACK_MODEL_ID"
]
Fallback را برای خطاهای موقت، Timeout یا نبود ظرفیت فعال کنید، نه برای خطاهای Validation یا API Key.
Evaluation مدل
فارسی
- درک Prompt فارسی
- کیفیت نگارش
- خلاصهسازی
- استخراج موجودیت
- ترکیب فارسی و English
- پایداری JSON
Coding
- درصد Testهای پاسشده
- صحت Patch
- رعایت معماری
- Backward Compatibility
- نرخ API ساختگی
- تغییرات غیرضروری
Vision
- تشخیص Component
- استخراج متن
- تحلیل نمودار
- تفکیک مشاهده از حدس
- پاسخ به سؤال تصویری
Agent
- انتخاب ابزار
- آرگومان معتبر
- تعداد مراحل
- مدیریت خطا
- حفظ هدف
- تشخیص پایان
- هزینه موفقیت
اشتباهات رایج
فعالکردن Reasoning بالا برای همه درخواستها
باعث افزایش Latency و هزینه میشود.
استفاده از مدل 128B برای کار ساده
طبقهبندی یا استخراج ساده را میتوان به مدل کوچکتر سپرد.
ارسال تمام Repository
ابتدا فایلهای مرتبط را جستوجو و انتخاب کنید.
اجرای Tool Call بدون Validation
Tool Call فقط یک پیشنهاد مدل است و باید بررسی شود.
اعتماد به ادعای اجرای Test
تنها نتیجه واقعی ابزار Test معتبر است.
قراردادن API Key در Frontend
کلید درواره را فقط در Backend نگه دارید.
اعتماد کامل به خروجی Structured
حتی JSON ظاهراً صحیح باید با Schema اعتبارسنجی شود.
پرسشهای متداول
Mistral Medium 3.5 چیست؟
یک مدل Multimodal با حدود ۱۲۸ میلیارد پارامتر است که Instruction Following، Reasoning، Coding و Agentic Workflow را ترکیب میکند.
Context Window مدل چقدر است؟
Mistral Medium 3.5 از Context تا 256K Token پشتیبانی میکند.
آیا این مدل تصویر را تحلیل میکند؟
بله. مدل ورودی متن و تصویر دریافت و خروجی متنی تولید میکند.
آیا برای برنامهنویسی مناسب است؟
بله. Coding، Code Review، Debug، تحلیل Repository و مهاجرت نرمافزاری از کاربردهای اصلی مدل هستند.
آیا از Function Calling پشتیبانی میکند؟
بله. مدل میتواند ابزار موردنیاز را انتخاب کند؛ اجرای واقعی ابزار توسط Backend انجام میشود.
آیا از Structured Output پشتیبانی میکند؟
بله، اما خروجی باید در Backend با Schema اعتبارسنجی شود.
آیا Reasoning قابل تنظیم است؟
بله. مدل برای سطوح مختلف Reasoning طراحی شده است. پشتیبانی پارامتر مربوط را در مسیر API فعال بررسی کنید.
Model ID درواره چیست؟
mistralai/mistral-medium-3.5
برای تأیید شناسه فعال به صفحه مدلهای درواره مراجعه کنید.
Base URL درواره چیست؟
https://api.darvareh.ir/v1
آیا مدل با Python کار میکند؟
بله. با تنظیم Base URL و Model ID درواره میتوانید آن را در Backend Python فراخوانی کنید.
آیا با Node.js قابل استفاده است؟
بله. API مدل از طریق JavaScript و TypeScript قابل فراخوانی است.
قیمت Mistral Medium 3.5 چقدر است؟
برای مشاهده قیمت بهروز به صفحه مدلهای درواره مراجعه کنید.
جمعبندی
Mistral Medium 3.5 مدلی چندمنظوره برای توسعهدهندگانی است که میخواهند Reasoning، Coding، Vision و Tool Calling را از طریق یک مدل واحد در اختیار داشته باشند.
مهمترین ویژگیهای آن عبارتاند از:
- مدل Dense با ۱۲۸ میلیارد پارامتر
- Context برابر با 256K
- Reasoning قابل تنظیم
- تحلیل متن و تصویر
- Function Calling
- Structured Output
- برنامهنویسی در سطح Repository
- مناسب Agentهای چندمرحلهای
- مناسب RAG سازمانی
- مناسب Review و Orchestration
برای درخواستهای ساده بهتر است از مدلهای کوچکتر استفاده شود؛ اما در وظایف پیچیده، Agentic و چندمرحلهای، Mistral Medium 3.5 میتواند گزینهای قدرتمند باشد.
برای شروع:
- در درواره ثبتنام کنید.
- API Key دریافت کنید.
- مدل را در صفحه مدلها پیدا کنید.
- Model ID فعال را کپی کنید.
- Base URL را روی
https://api.darvareh.ir/v1قرار دهید. - مدل را با داده واقعی فارسی و وظایف محصول ارزیابی کنید.
- برای کنترل هزینه از Model Routing و Reasoning پویا استفاده کنید.
مقالات مرتبط
- Mistral AI چیست؟ معرفی کامل مدلهای میسترال
- راهنمای جامع مدلهای هوش مصنوعی و انتخاب مدل مناسب
- بهترین مدلهای هوش مصنوعی برای برنامهنویسی
- راهنمای کامل AI Agent
- راهنمای AI Agent، ابزارها، Skills و MCP
- مقایسه بهترین SDKهای ساخت AI Agent
- آموزش Function Calling
- راهنمای Tool Calling
- خروجی ساختاریافته و JSON Schema
- Context Window چیست؟
- ساخت RAG با LangChain و LlamaIndex
- Hybrid Search با BM25 و Vector Search
- Reranking و Cross-Encoder در RAG
- معماری چندمدلی و چندارائهدهنده
- ساخت API هوش مصنوعی آماده Production