Amazon Nova 2 Pro چیست؟ آموزش کامل مدل Reasoning و Multimodal آمازون با API درواره
Amazon Nova 2 Pro مدل پیشرفته آمازون برای Reasoning، تحلیل متن، تصویر و ویدئو و ساخت AI Agent است. در این راهنما قابلیتها و اتصال آن به API درواره را بررسی میکنیم.
Amazon Nova 2 Pro یکی از پیشرفتهترین مدلهای هوش مصنوعی خانواده Nova است که برای Reasoning پیچیده، برنامهریزی بلندمدت، تحلیل چندوجهی، برنامهنویسی و اجرای Workflowهای چندمرحلهای AI Agent طراحی شده است.
این مدل میتواند ورودیهای مختلفی مانند متن، تصویر، سند، صدا و ویدئو را پردازش کند و خروجی متنی تولید کند. Context Window بسیار بزرگ آن نیز امکان تحلیل اسناد طولانی، Repositoryهای گسترده و ویدئوهای نسبتاً طولانی را فراهم میکند.
Nova 2 Pro برای درخواستهای ساده و کوتاه ساخته نشده است. کاربرد اصلی آن وظایفی است که در آنها کیفیت استدلال، توانایی اتصال چند منبع و حفظ هدف در فرایندهای طولانی اهمیت زیادی دارد.
نمونه کاربردهای مناسب:
- تحلیل چند سند طولانی
- بررسی Repositoryهای بزرگ
- Reasoning چندمرحلهای
- تحلیل تصویر و نمودار
- تحلیل محتوای ویدئو
- برنامهریزی در AI Agent
- Tool Calling پیچیده
- مهاجرت نرمافزاری
- طراحی معماری
- تحقیق عمیق
- تولید گزارش سازمانی
- بررسی خروجی مدلهای کوچکتر
توسعهدهندگان ایرانی میتوانند از طریق API درواره به نسخه ارائهشده این مدل متصل شوند و آن را با ساختاری سازگار با OpenAI API در Backendهای Python، JavaScript، TypeScript، PHP و سایر زبانها استفاده کنند.
برای مشاهده وضعیت ارائه، Model ID فعال و قیمت روز مدل به صفحه مدلهای درواره مراجعه کنید.
وضعیت Preview مدل Nova 2 Pro
در زمان نگارش این مقاله، Amazon Nova 2 Pro در وضعیت Preview معرفی شده است. Preview به این معنی است که مدل قابل آزمایش و استفاده است، اما ممکن است پیش از عرضه نهایی تغییراتی در موارد زیر ایجاد شود:
- Model ID
- محدودیتهای API
- مناطق ارائه
- قیمت
- Quota
- پارامترهای Reasoning
- فرمت ورودیهای چندوجهی
- سطح پایداری
- SLA
- قابلیتهای جانبی
بنابراین بهتر است این مدل را ابتدا در محیط آزمایشی ارزیابی کنید و پیش از قراردادن آن در مسیر حیاتی Production، وضعیت نهایی و محدودیتهای فعال را بررسی کنید.
مشخصات Amazon Nova 2 Pro
| ویژگی | توضیح |
|---|---|
| نام مدل | Amazon Nova 2 Pro |
| توسعهدهنده | Amazon |
| خانواده | Amazon Nova 2 |
| وضعیت | Preview در زمان نگارش |
| نوع مدل | Multimodal Foundation Model |
| ورودی متن | دارد |
| ورودی تصویر | دارد |
| ورودی سند | دارد |
| ورودی ویدئو | دارد |
| ورودی صدا | دارد |
| خروجی اصلی | متن |
| Context Window | تا یک میلیون Token |
| حداکثر خروجی اعلامشده | تا حدود ۶۵ هزار Token |
| Reasoning | دارد |
| Tool Calling | دارد |
| برنامهنویسی | دارد |
| کاربرد اصلی | وظایف پیچیده و Agentic |
| Model ID درواره | amazon/nova-2-pro-preview |
| Base URL درواره | https://api.darvareh.ir/v1 |
بهدلیل Preview بودن مدل، Model ID را پیش از استفاده از صفحه مدلهای درواره کپی کنید. اگر شناسه فعال با نمونه مقاله متفاوت بود، شناسه نمایشدادهشده در صفحه مدلها مرجع نهایی است.
خانواده Amazon Nova چیست؟
Amazon Nova خانوادهای از مدلهای Foundation Model است که برای چند گروه کاربردی طراحی شدهاند:
Understanding Models
برای تحلیل و تولید متن، پردازش تصویر، سند و ویدئو:
- Nova Micro
- Nova Lite
- Nova Pro
- Nova Premier
- Nova 2 Lite
- Nova 2 Pro
Speech Models
برای مکالمه صوتی بلادرنگ:
- Nova Sonic
- Nova 2 Sonic
Embedding Models
برای تبدیل متن، تصویر، سند، صدا و ویدئو به Embedding:
- Nova Multimodal Embeddings
Creative Models
برای تولید محتوای تصویری و ویدئویی:
- Nova Canvas
- Nova Reel
Nova 2 Pro در دسته Understanding و Reasoning قرار میگیرد و تمرکز آن حل مسائل پیچیده، تحلیل چندوجهی و Workflowهای طولانی است.
تفاوت Nova 2 Pro با Nova 2 Lite
| معیار | Nova 2 Pro | Nova 2 Lite |
|---|---|---|
| هدف اصلی | بالاترین کیفیت و استدلال | سرعت و پردازش اقتصادی |
| وظایف پیچیده | مناسبتر | مناسب وظایف عمومی |
| برنامهریزی بلندمدت | قویتر | محدودتر |
| تحلیل چند سند | مناسبتر | مناسب حجم بالا |
| Agentic Coding | مناسبتر | مناسب وظایف سادهتر |
| Latency | احتمالاً بیشتر | معمولاً کمتر |
| هزینه | بیشتر | کمتر |
| درخواست پرتعداد | نیازمند Routing | مناسبتر |
| مرحله نهایی Review | مناسب | وابسته به پیچیدگی |
| وضعیت | Preview | Active |
در یک معماری حرفهای لازم نیست یکی از این دو مدل را برای تمام درخواستها انتخاب کنید. میتوان درخواستهای ساده را به مدل اقتصادیتر و وظایف پیچیده را به Nova 2 Pro Route کرد.
تفاوت Nova 2 Pro با Nova Premier
Nova Premier نسل قبلی مدل بسیار قدرتمند خانواده Nova است، درحالیکه Nova 2 Pro از نسل جدید Nova 2 محسوب میشود.
| معیار | Nova 2 Pro | Nova Premier |
|---|---|---|
| نسل | Nova 2 | Nova 1 |
| تمرکز | Reasoning و Agentic Workflow | Multimodal و تحلیل پیچیده |
| وضعیت | Preview | عرضهشده |
| Long-Horizon Planning | قابلیت کلیدی | دارد |
| Tool Calling | دارد | دارد |
| Context طولانی | تا یک میلیون Token | تا یک میلیون Token |
| انتخاب Production | نیازمند ارزیابی Preview | گزینه پایدارتر در برخی سناریوها |
انتخاب نهایی باید با تست روی وظایف واقعی انجام شود، نه صرفاً جدیدتربودن نسخه.
Multimodal بودن Nova 2 Pro یعنی چه؟
Multimodal یا چندوجهی یعنی مدل میتواند چند نوع داده را در یک درخواست پردازش کند.
برای مثال، میتوانید همزمان این اطلاعات را در اختیار مدل قرار دهید:
- توضیح متنی مسئله
- Screenshot رابط کاربری
- فایل PDF مستندات
- نمودار عملکرد
- ویدئوی Demo
- فایل صوتی جلسه
مدل میتواند روابط میان این ورودیها را تحلیل و یک پاسخ متنی یکپارچه تولید کند.
این قابلیت برای محصولاتی مفید است که اطلاعات واقعی آنها فقط در متن قرار ندارد.
کاربرد ورودی تصویر
- تحلیل Screenshot
- بررسی رابط کاربری
- استخراج داده از نمودار
- پاسخ به سؤال درباره تصویر
- تحلیل اسناد اسکنشده
- مقایسه طراحی و پیادهسازی
- تحلیل عکس محصول
- بررسی Diagram معماری
- استخراج اطلاعات از فرم
- تشخیص اجزای یک صفحه
کاربرد ورودی ویدئو
- خلاصهسازی ویدئو
- استخراج Timeline
- شناسایی لحظات مهم
- تحلیل Screen Recording
- استخراج مراحل یک فرایند
- تهیه Bug Report
- تحلیل ویدئوی آموزشی
- پاسخ به سؤال درباره ویدئو
- بررسی تجربه کاربری
- تحلیل Demo محصول
کاربرد ورودی صدا
- خلاصهسازی جلسه
- استخراج Action Item
- تحلیل مکالمه
- تبدیل فایل صوتی به گزارش
- تشخیص موضوعات مطرحشده
- ساخت دستیار صوتی غیرهمزمان
- پردازش پیام صوتی
- تولید پاسخ براساس محتوای Audio
برای مکالمه صوتی Speech-to-Speech بلادرنگ، مدل تخصصی Nova 2 Sonic انتخاب مناسبتری است. Nova 2 Pro بیشتر برای تحلیل و Reasoning چندوجهی استفاده میشود.
Context یک میلیون توکنی
Nova 2 Pro از Context Window بسیار بزرگ تا حدود یک میلیون Token پشتیبانی میکند.
این مقدار میتواند برای پردازش موارد زیر کافی باشد:
- مجموعه بزرگی از مستندات
- بخش قابلتوجهی از یک Repository
- تاریخچه طولانی Agent
- چند صد صفحه متن
- چندین تصویر
- محتوای یک ویدئوی طولانی
- مجموعه خروجیهای ابزار
- چند گزارش سازمانی
اما ظرفیت یک میلیون Token به معنی توصیه برای ارسال دائمی این حجم نیست.
مشکلات استفاده بیهدف از Context بزرگ
- افزایش هزینه
- افزایش Latency
- کاهش Throughput
- ورود اطلاعات نامرتبط
- دشوارشدن Debug
- افزایش احتمال تناقض
- گمشدن اطلاعات مهم میان دادههای زیاد
- پیچیدهترشدن مدیریت Session
روش مناسب استفاده از Long Context
- هدف را دقیق تعریف کنید.
- اطلاعات را براساس ارتباط انتخاب کنید.
- اسناد را با RAG بازیابی کنید.
- نتایج را Rerank کنید.
- Context را بخشبندی و برچسبگذاری کنید.
- اطلاعات حیاتی را صریح مشخص کنید.
- تاریخچه Agent را خلاصه کنید.
- خروجی ابزارهای تکراری را حذف کنید.
Extended Reasoning چیست؟
Nova 2 Pro میتواند پیش از پاسخ نهایی، محاسبات بیشتری برای حل مسئله انجام دهد.
Extended Reasoning برای این کاربردها مفید است:
- تحلیل معماری
- برنامهریزی چندمرحلهای
- Debug پیچیده
- Reasoning ریاضی
- مقایسه چند راهحل
- تحلیل چند سند
- Coding در سطح پروژه
- Agent Orchestration
- تصمیمگیری براساس شواهد متعدد
سطح Reasoning معمولاً باید براساس پیچیدگی وظیفه تنظیم شود.
Reasoning پایین
مناسب برای:
- خلاصهسازی ساده
- استخراج فیلد
- طبقهبندی
- بازنویسی
- پاسخ کوتاه
Reasoning متوسط
مناسب برای:
- تحلیل سند
- تولید کد
- بررسی تصویر
- Tool Calling
- مقایسه گزینهها
Reasoning بالا
مناسب برای:
- طراحی معماری
- Debug چندمرحلهای
- مهاجرت نرمافزاری
- Agent پیچیده
- تحلیل چند منبع
- بررسی نهایی
پشتیبانی دقیق پارامتر کنترل Reasoning را برای Model ID درواره بررسی کنید. در صورت پشتیبانینشدن پارامتر، آن را از درخواست حذف کنید.
کاربردهای Nova 2 Pro
۱. ساخت AI Agent سازمانی
Nova 2 Pro میتواند بهعنوان مدل برنامهریز یک Agent سازمانی استفاده شود.
Agent ممکن است به ابزارهای زیر متصل شود:
search_documents
query_database
get_customer_record
get_project_status
calculate_metrics
create_report
read_file
search_code
run_tests
مدل تصمیم میگیرد چه ابزاری لازم است، اما Backend باید ابزار را اجرا کند.
۲. طراحی سیستم Multi-Agent
در معماری Multi-Agent میتوان Nova 2 Pro را در یکی از این نقشها قرار داد:
Planner
هدف را به Subtaskهای کوچکتر تقسیم میکند.
Orchestrator
کارها را به Agentهای تخصصی میسپارد و وضعیت را مدیریت میکند.
Reviewer
نتایج Agentها را بررسی میکند.
Synthesizer
خروجی چند Agent را در یک پاسخ نهایی ترکیب میکند.
برای کنترل هزینه بهتر است Subtaskهای ساده به مدلهای سبکتر سپرده شوند و Nova 2 Pro فقط در مراحل پیچیده استفاده شود.
۳. تحلیل چند سند
مدل میتواند چند سند را همزمان بررسی و موارد زیر را استخراج کند:
- نکات مشترک
- تناقضها
- الزامات
- تصمیمها
- ریسکها
- اطلاعات ناقص
- برنامه اجرایی
- خلاصه مدیریتی
برای پاسخ قابل اعتماد، از مدل بخواهید هر ادعا را به نام سند و بخش مربوط پیوند دهد.
۴. تحلیل ویدئو
Nova 2 Pro میتواند برای تحلیل محتوای ویدئو استفاده شود.
نمونه کاربرد:
این ویدئوی Demo محصول را بررسی کن.
خروجی:
1. Timeline رویدادها
2. مراحل انجامشده توسط کاربر
3. نقاط اصطکاک UX
4. رفتارهای غیرمنتظره
5. پیشنهادهای بهبود
6. مواردی که از ویدئو قابل تشخیص نیست
مدل باید مشاهده قطعی را از استنباط جدا کند.
۵. برنامهنویسی و مهاجرت نرمافزاری
براساس معرفی رسمی Amazon، Software Migration یکی از کاربردهای مهم Nova 2 Pro است.
نمونه وظایف:
- تبدیل JavaScript به TypeScript
- ارتقای Framework
- مهاجرت Database
- تبدیل Monolith به Modular Monolith
- جایگزینی Message Broker
- تغییر ORM
- مهاجرت API
- Refactoring چندفایلی
- ارتقای نسخه زبان
- ساخت برنامه Rollback
مدل برای انجام واقعی این وظایف باید به ابزارهای Repository متصل شود.
۶. تحلیل Repository
مدل میتواند:
- ساختار پروژه را توضیح دهد.
- Entry Pointها را پیدا کند.
- جریان داده را دنبال کند.
- Dependencyها را تحلیل کند.
- فایلهای مرتبط با تغییر را شناسایی کند.
- Technical Debt را گزارش دهد.
- برنامه Refactoring بسازد.
- تستهای مرتبط را پیدا کند.
تمام Repository را بدون فیلتر وارد Prompt نکنید. ابتدا نقشه پروژه و فایلهای مرتبط را استخراج کنید.
۷. تحلیل داده با Code Interpreter
مدل میتواند مسئله را تحلیل و کد Python لازم برای محاسبات را پیشنهاد کند. اگر زیرساخت شما Code Interpreter دارد، کد باید در یک محیط محدود اجرا شود و نتیجه واقعی به مدل بازگردد.
کاربردها:
- تحلیل CSV
- محاسبه KPI
- بررسی دادههای ناقص
- ساخت Pivot Table
- تحلیل سری زمانی
- شناسایی Outlier
- تولید نمودار
- مقایسه سناریوها
ابزارهای داخلی Amazon لزوماً از طریق تمام مسیرهای API درواره در دسترس نیستند. در معماری درواره، میتوانید Code Interpreter خود را بهصورت Tool مستقل پیادهسازی کنید.
۸. RAG سازمانی
Nova 2 Pro میتواند مدل نهایی تولید پاسخ در یک سیستم RAG باشد.
جریان پیشنهادی:
پرسش کاربر
تشخیص Intent
ساخت Search Query
Hybrid Search
Reranking
انتخاب اسناد
ساخت Context
ارسال به Nova 2 Pro
اعتبارسنجی Citation
پاسخ نهایی
Context بزرگ جایگزین RAG نیست؛ بلکه اجازه میدهد تعداد بیشتری از اسناد مرتبط در مرحله نهایی پردازش شوند.
۹. بررسی خروجی مدلهای دیگر
در معماری چندمدلی میتوان یک مدل کوچکتر را برای تولید Draft و Nova 2 Pro را برای Review استفاده کرد.
Review میتواند موارد زیر را بررسی کند:
- رعایت دستور
- صحت منطقی
- کاملبودن
- تناقض
- ساختار
- استنادها
- معیارهای پذیرش
- ریسکهای باقیمانده
این روش هزینه کمتری نسبت به استفاده از مدل قوی در تمام مراحل دارد.
مزایای Nova 2 Pro
Reasoning پیشرفته
این مدل برای مسائل چندمرحلهای و برنامهریزی بلندمدت طراحی شده است.
Multimodal واقعی
متن، تصویر، سند، ویدئو و Audio میتوانند در یک فرایند تحلیل شوند.
Context یک میلیون توکنی
برای اسناد، Repository و Agentهای طولانی مفید است.
مناسب Tool Calling
مدل میتواند برای انجام وظیفه از چند ابزار استفاده کند.
مناسب Coding
تولید کد، تحلیل Repository، Debug و مهاجرت نرمافزاری از کاربردهای اصلی هستند.
مناسب معماری Multi-Agent
مدل میتواند در نقش Planner، Orchestrator یا Reviewer قرار گیرد.
خروجی طولانی
حداکثر خروجی اعلامشده خانواده Nova 2 تا حدود ۶۵ هزار Token است؛ محدودیت نسخه فعال باید جداگانه بررسی شود.
محدودیتهای Nova 2 Pro
وضعیت Preview
مهمترین محدودیت فعلی، Preview بودن مدل است. API یا رفتار مدل ممکن است تغییر کند.
Latency
Reasoning سنگین و Context بزرگ زمان پاسخ را افزایش میدهند.
هزینه
ورودی چندوجهی، Context بزرگ و خروجی طولانی میتوانند هزینه زیادی ایجاد کنند. قیمت را در صفحه مدلهای درواره بررسی کنید.
نداشتن خروجی تصویر یا ویدئو
این مدل تصویر و ویدئو را تحلیل میکند، اما خروجی اصلی آن متن است. برای تولید رسانه باید مدل تخصصی انتخاب شود.
احتمال Hallucination
مدل ممکن است اطلاعاتی روان اما نادرست تولید کند.
نیاز به Evaluation فارسی
کیفیت پردازش و تولید فارسی باید با داده واقعی ارزیابی شود.
استفاده از Nova 2 Pro با API درواره
برای شروع:
- در درواره ثبتنام کنید.
- API Key بسازید.
- مدل را در صفحه مدلها پیدا کنید.
- Model ID فعال را کپی کنید.
- درخواست را از Backend ارسال کنید.
تنظیمات نمونه:
Base URL: https://api.darvareh.ir/v1
Model ID درواره: amazon/nova-2-pro-preview
کلید API نباید در 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": "amazon/nova-2-pro-preview",
"messages": [
{
"role": "system",
"content": "You are a principal software architect. State assumptions, compare alternatives and provide an actionable migration plan."
},
{
"role": "user",
"content": "برای مهاجرت یک Monolith مبتنی بر Node.js و PostgreSQL به Modular Monolith برنامهای مرحلهای، قابل Rollback و بدون Downtime طراحی کن."
}
],
"temperature": 0.2,
"max_tokens": 6000
}'
اتصال Nova 2 Pro به Python
نصب SDK:
pip install openai
تعریف متغیر محیطی:
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="amazon/nova-2-pro-preview",
messages=[
{
"role": "system",
"content": """
تو یک Principal Software Architect هستی.
قوانین:
- فرضیات را صریح مشخص کن.
- چند گزینه را مقایسه کن.
- Failure Modeها را بررسی کن.
- راهحل باید قابل تست و Rollback باشد.
- اطلاعات ناموجود را حدس قطعی نزن.
"""
},
{
"role": "user",
"content": """
برای یک سامانه سفارش معماری Event-Driven طراحی کن.
فناوریها:
- Python
- FastAPI
- PostgreSQL
- Kafka
- Redis
نیازمندیها:
- idempotency
- ordering
- retry
- dead-letter processing
- observability
- reconciliation
- zero-downtime migration
"""
}
],
temperature=0.2,
max_tokens=7000
)
print(response.choices[0].message.content)
اتصال Nova 2 Pro به 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: "amazon/nova-2-pro-preview",
messages: [
{
role: "system",
content: `
You are a principal TypeScript engineer.
Produce maintainable, explicit and testable solutions.
Separate facts, assumptions and recommendations.
`,
},
{
role: "user",
content: `
برای NestJS یک سیستم پردازش Webhook طراحی کن.
الزامات:
- signature verification
- idempotency
- concurrent delivery handling
- retry with exponential backoff
- dead-letter queue
- structured logging
- tests with Vitest
`,
},
],
temperature: 0.2,
max_tokens: 6000,
});
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="amazon/nova-2-pro-preview",
messages=[
{
"role": "user",
"content": (
"یک برنامه کامل برای مهاجرت پروژه "
"JavaScript به TypeScript تهیه کن."
)
}
],
temperature=0.2,
max_tokens=6000,
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
ارسال تصویر به Nova 2 Pro
در مسیرهای دارای پشتیبانی Vision میتوانید تصویر را همراه متن ارسال کنید:
response = client.chat.completions.create(
model="amazon/nova-2-pro-preview",
messages=[
{
"role": "system",
"content": (
"You are a senior product designer "
"and frontend engineer."
)
},
{
"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=4000
)
print(response.choices[0].message.content)
فرمت ورودی تصویر و محدودیت آن را برای نسخه Preview فعال درواره بررسی کنید.
تحلیل چند تصویر
const response = await client.chat.completions.create({
model: "amazon/nova-2-pro-preview",
messages: [
{
role: "user",
content: [
{
type: "text",
text: `
تصویر اول Design و تصویر دوم پیادهسازی است.
تفاوتها را در layout، spacing، typography،
color، responsive behavior و component states بررسی کن.
Observation را از inference جدا کن.
`,
},
{
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,
});
تحلیل ویدئو
قالب دقیق ارسال ویدئو ممکن است با مسیر معمول chat/completions متفاوت باشد. در صورت فعالبودن Video Input در مسیر درواره، ساختار مفهومی درخواست میتواند شامل یک بخش video_url باشد:
{
"model": "amazon/nova-2-pro-preview",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "این Screen Recording را تحلیل و Timeline، خطاها و پیشنهادهای UX را استخراج کن."
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/demo.mp4"
}
}
]
}
]
}
پیش از پیادهسازی، قالب، فرمت فایل، حجم و طول مجاز ویدئو را در مستندات مسیر فعال بررسی کنید.
Prompt مناسب تحلیل ویدئو
این Screen Recording مربوط به فرایند ثبت سفارش است.
وظیفه:
1. Timeline اقدامات کاربر را استخراج کن.
2. لحظه وقوع رفتار غیرمنتظره را مشخص کن.
3. رفتار واقعی و رفتار مورد انتظار را جدا بنویس.
4. اطلاعات لازم برای بازتولید باگ را فهرست کن.
5. یک Bug Report ساختاریافته تولید کن.
6. پیشنهادهای UX را اولویتبندی کن.
قوانین:
- برای هر مشاهده Timestamp تقریبی ذکر کن.
- Observation را از Inference جدا کن.
- چیزی را که در ویدئو دیده نمیشود قطعی اعلام نکن.
- اطلاعات فنی ناموجود را حدس نزن.
Tool Calling با Nova 2 Pro
نمونه تعریف ابزار جستوجوی مستندات:
tools = [
{
"type": "function",
"function": {
"name": "search_documentation",
"description": (
"Search internal product documentation "
"for information relevant to the user question."
),
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": ["query"],
"additionalProperties": False
}
}
}
]
فراخوانی مدل:
response = client.chat.completions.create(
model="amazon/nova-2-pro-preview",
messages=[
{
"role": "system",
"content": """
تو یک دستیار سازمانی هستی.
قوانین:
- برای سؤالهای محصول از مستندات استفاده کن.
- اطلاعات محصول را حدس نزن.
- نام منبع را در پاسخ ذکر کن.
- در نبود اطلاعات کافی صریح اعلام کن.
"""
},
{
"role": "user",
"content": (
"چگونه اعلانهای ایمیلی حساب را مدیریت کنم؟"
)
}
],
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 search_documentation(
query: str,
limit: int = 5
) -> dict:
return {
"query": query,
"results": [
{
"title": "Notification Settings",
"content": (
"Email preferences are available "
"under Settings > Notifications."
)
}
][:limit]
}
tools = [
{
"type": "function",
"function": {
"name": "search_documentation",
"description": "Search 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 tools for product facts. "
"Do not invent unavailable information."
)
},
{
"role": "user",
"content": (
"چگونه ایمیلهای اطلاعرسانی را غیرفعال کنم؟"
)
}
]
for step in range(8):
response = client.chat.completions.create(
model="amazon/nova-2-pro-preview",
messages=messages,
tools=tools,
tool_choice="auto",
temperature=0.1,
max_tokens=2500
)
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")
ابزارهای مناسب Coding Agent
یک Coding Agent مبتنی بر Nova 2 Pro میتواند از ابزارهای زیر استفاده کند:
list_files
search_code
read_file
get_symbols
apply_patch
run_tests
run_linter
run_type_check
get_git_diff
بهتر است ابتدا Agent در حالت Read-Only کار کند و پس از آمادهکردن برنامه تغییرات، اجازه ویرایش دریافت کند.
System Prompt برای Coding Agent
You are a repository coding agent.
Goal:
Complete the user's task with the smallest maintainable change.
Rules:
- Inspect relevant files before editing.
- Follow existing architecture and conventions.
- Do not invent files, APIs or dependencies.
- Do not change unrelated code.
- Never claim tests passed without tool evidence.
- Provide a short plan before modification.
- Stop when acceptance criteria are satisfied.
- Finish with changed files, test results and remaining risks.
Promptنویسی برای Nova 2 Pro
Prompt حرفهای بهتر است شامل این بخشها باشد:
نقش
تو یک Principal Engineer با تخصص در سیستمهای توزیعشده هستی.
هدف
برای رفع مشکل سفارشهای تکراری راهحل طراحی کن.
Context
Queue دارای تحویل at-least-once است.
PostgreSQL پایگاه داده اصلی است.
محدودیتها
API عمومی تغییر نکند.
Dependency جدید اضافه نشود.
Downtime مجاز نیست.
معیار پذیرش
هر Event ID فقط یک اثر ایجاد کند.
Retry نتیجه قبلی را بازگرداند.
اجرای همزمان تست شود.
قالب خروجی
1. فرضیات
2. علتهای احتمالی
3. گزینهها
4. تصمیم پیشنهادی
5. پیادهسازی
6. تست
7. Rollback
Prompt کامل برای مهاجرت نرمافزاری
نقش:
تو یک Principal Software Architect هستی.
هدف:
پروژه JavaScript را به TypeScript مهاجرت بده.
وضعیت:
- Node.js
- Express
- PostgreSQL
- 120 هزار خط کد
- 420 تست
- استقرار روزانه
محدودیتها:
- توقف توسعه محصول بیش از دو روز مجاز نیست.
- مهاجرت Big Bang ممنوع است.
- API عمومی نباید شکسته شود.
- امکان Rollback هر مرحله لازم است.
خروجی:
1. اطلاعات ناقص
2. Risk Assessment
3. استراتژی مهاجرت
4. اولویت پوشهها
5. تنظیمات TypeScript
6. مدیریت Libraryهای بدون Type
7. برنامه CI
8. معیار پیشرفت
9. تست Regression
10. Rollback Plan
قانون:
پیش از پیشنهاد نهایی، حداقل سه راهبرد را مقایسه کن.
Structured Output
نمونه Schema برای تحلیل چند سند:
{
"executive_summary": "string",
"documents_reviewed": [
"string"
],
"confirmed_facts": [
{
"claim": "string",
"source": "string"
}
],
"contradictions": [
{
"topic": "string",
"sources": ["string"],
"explanation": "string"
}
],
"risks": [
{
"title": "string",
"severity": "low | medium | high",
"evidence": "string",
"recommendation": "string"
}
],
"missing_information": [
"string"
]
}
پشتیبانی دقیق JSON Schema را برای Model ID فعال بررسی کنید. در هر حالت، خروجی باید در Backend اعتبارسنجی شود.
تنظیم Temperature
| نوع وظیفه | Temperature پیشنهادی |
|---|---|
| استخراج داده | 0 تا 0.2 |
| Tool Calling | 0 تا 0.2 |
| Code Review | 0 تا 0.2 |
| Debug | 0 تا 0.2 |
| تحلیل سند | 0.1 تا 0.3 |
| تحلیل ویدئو | 0.1 تا 0.3 |
| طراحی معماری | 0.2 تا 0.5 |
| ایدهپردازی | 0.6 تا 0.9 |
این مقادیر نقطه شروع هستند و باید با Evaluation تنظیم شوند.
مدیریت Context طولانی
اطلاعات Agent را به چهار قسمت تقسیم کنید:
هدف ثابت
- هدف اصلی
- محدودیتها
- معیارهای پذیرش
State جاری
- مرحله فعلی
- کارهای انجامشده
- خطاهای باز
- اقدام بعدی
Evidence
- سند
- خروجی ابزار
- محتوای فایل
- نتیجه تست
- Timestamp ویدئو
تاریخچه فشرده
- تصمیمهای قبلی
- دلیل تغییر مسیر
- نتایج قطعی
- فرضیههای ردشده
خلاصه State یک Agent
{
"goal": "Migrate JavaScript project to TypeScript",
"completed": [
"Added tsconfig",
"Converted shared types",
"Enabled allowJs"
],
"current_phase": "Convert API layer",
"confirmed_issues": [
"Three dependencies have no type definitions"
],
"test_status": {
"unit": "passed",
"integration": "not_run"
},
"next_action": "Convert order controller",
"remaining_budget": {
"steps": 12
}
}
خلاصهسازی نباید شواهد مهم یا نتیجه تست را حذف کند.
معماری Production پیشنهادی
API Layer
- Authentication
- Rate Limiting
- Validation
- Request ID
- محدودیت فایل
Model Router
- انتخاب مدل
- تشخیص پیچیدگی
- مدیریت Preview
- Fallback
Media Processor
- اعتبارسنجی تصویر و ویدئو
- کاهش حجم
- تولید URL موقت
- استخراج Metadata
- تقسیم ویدئو
Context Builder
- ساخت Prompt
- انتخاب سند
- فشردهسازی تاریخچه
- حذف اطلاعات تکراری
Tool Executor
- اعتبارسنجی Tool Call
- کنترل دسترسی
- Timeout
- Audit Log
State Store
- PostgreSQL
- Redis
- Workflow Engine
Output Validator
- بررسی JSON
- کنترل Citation
- بررسی معیار پذیرش
Observability
- Latency
- Token
- هزینه
- خطا
- تعداد ابزار
- نتیجه وظیفه
- نسخه مدل
Model Routing برای Nova 2 Pro
NOVA_PRO = "amazon/nova-2-pro-preview"
def choose_model(task: dict) -> str:
if task.get("requires_deep_reasoning"):
return NOVA_PRO
if task.get("requires_video_reasoning"):
return NOVA_PRO
if task.get("requires_long_context"):
return NOVA_PRO
if task.get("role") in {
"planner",
"orchestrator",
"reviewer"
}:
return NOVA_PRO
if task.get("type") in {
"software_migration",
"multi_document_analysis",
"complex_architecture",
"long_horizon_agent"
}:
return NOVA_PRO
return "YOUR_LIGHTWEIGHT_MODEL_ID"
مدل جایگزین را از فهرست فعال درواره انتخاب کنید.
Fallback برای مدل Preview
بهدلیل Preview بودن مدل، Fallback اهمیت بیشتری دارد.
MODEL_CHAIN = [
"amazon/nova-2-pro-preview",
"YOUR_STABLE_FALLBACK_MODEL_ID"
]
Fallback باید براساس این موارد فعال شود:
- Timeout
- خطای ظرفیت
- موقتاً دردسترسنبودن مدل
- پاسخ نامعتبر
- عبور از محدودیت Latency
Fallback نباید برای خطای ورودی یا API Key نامعتبر اجرا شود.
کنترل هزینه
- درخواستهای ساده را Route کنید.
- Context نامرتبط را حذف کنید.
- فایل و ویدئو را بخشبندی کنید.
- خروجی ابزار را خلاصه کنید.
- Context ثابت را Cache کنید.
- تعداد Agent Stepها را محدود کنید.
max_tokensرا متناسب تنظیم کنید.- Draft را با مدل کوچکتر بسازید.
- Nova 2 Pro را برای Review استفاده کنید.
- هزینه هر نتیجه موفق را ثبت کنید.
برای قیمت بهروز به صفحه مدلهای درواره مراجعه کنید.
Evaluation مدل
Reasoning
- صحت نتیجه
- رعایت محدودیت
- کیفیت برنامه
- تشخیص اطلاعات ناقص
- مقایسه گزینهها
- پایداری پاسخ
Multimodal
- درک تصویر
- تحلیل نمودار
- استخراج Timeline
- اتصال متن و تصویر
- تشخیص اطلاعات ناموجود
- دقت ارجاع
Coding
- پاسشدن تست
- صحت Patch
- Backward Compatibility
- تغییرات غیرضروری
- کیفیت تست
- نرخ API ساختگی
Agent
- انتخاب ابزار
- صحت آرگومان
- تعداد مراحل
- مدیریت خطا
- حفظ هدف
- تشخیص پایان
- هزینه وظیفه موفق
Long Context
اطلاعات مهم را در نقاط مختلف Context قرار دهید:
- ابتدای Context
- میانه Context
- انتهای Context
- چند بخش پراکنده
سپس توانایی مدل را در بازیابی و ترکیب آنها اندازه بگیرید.
اشتباهات رایج
استفاده مستقیم در مسیر حیاتی Production
تا زمانی که مدل Preview است، Fallback و مانیتورینگ دقیق ضروریاند.
استفاده از یک میلیون Token بدون نیاز
Context بیشتر همیشه پاسخ بهتر تولید نمیکند.
ارسال ویدئوی کامل برای یک رویداد کوتاه
ابتدا بخش مرتبط را پیدا و فقط همان بخش را تحلیل کنید.
اجرای مستقیم Tool Call
تمام آرگومانها و مجوزها باید بررسی شوند.
قراردادن API Key در Frontend
API Key درواره فقط در Backend نگهداری شود.
اعتماد به ادعای اجرای تست
تنها نتیجه واقعی ابزار Test معتبر است.
نداشتن Evaluation فارسی
کیفیت فارسی را با داده محصول خود بررسی کنید.
استفاده از Nova 2 Pro برای طبقهبندی ساده
برای کارهای ساده مدل سبکتر سریعتر و اقتصادیتر است.
پرسشهای متداول درباره Amazon Nova 2 Pro
Amazon Nova 2 Pro چیست؟
Nova 2 Pro مدل پیشرفته Multimodal و Reasoning آمازون برای تحلیل متن، تصویر، سند، صدا و ویدئو و اجرای وظایف پیچیده AI Agent است.
آیا Nova 2 Pro در وضعیت Preview است؟
بله، در زمان نگارش مقاله مدل در وضعیت Preview قرار دارد. وضعیت فعلی را پیش از استفاده بررسی کنید.
Context Window مدل چقدر است؟
خانواده Nova 2 از Context تا یک میلیون Token پشتیبانی میکند. محدودیت دقیق نسخه فعال درواره را در صفحه مدل ببینید.
آیا Nova 2 Pro تصویر را تحلیل میکند؟
بله. این مدل میتواند تصویر را همراه دستور متنی پردازش و پاسخ متنی تولید کند.
آیا Nova 2 Pro ویدئو را تحلیل میکند؟
بله، Video Reasoning یکی از کاربردهای اعلامشده مدل است. قالب و محدودیت ورودی ویدئو به مسیر API وابسته است.
آیا این مدل صدا را پردازش میکند؟
بله، Audio میتواند یکی از ورودیهای مدل باشد. برای مکالمه صوتی بلادرنگ، Nova 2 Sonic تخصصیتر است.
آیا Nova 2 Pro تصویر یا ویدئو تولید میکند؟
خیر. خروجی اصلی آن متن است. برای تولید رسانه باید مدل مخصوص Image یا Video Generation انتخاب شود.
آیا Nova 2 Pro برای برنامهنویسی مناسب است؟
بله. تحلیل Repository، Coding، Debug و Software Migration از کاربردهای اصلی مدل هستند.
آیا Nova 2 Pro از Tool Calling پشتیبانی میکند؟
بله. مدل میتواند در Workflowهای Agentic ابزارها را فراخوانی کند. اجرای ابزار بر عهده Backend است.
Model ID درواره چیست؟
Model ID پیشنهادی زمان نگارش:
amazon/nova-2-pro-preview
بهدلیل Preview بودن مدل، شناسه نهایی را از صفحه مدلهای درواره کپی کنید.
Base URL درواره چیست؟
https://api.darvareh.ir/v1
آیا میتوان Nova 2 Pro را با Python استفاده کرد؟
بله. با تنظیم Base URL و API Key درواره میتوانید مدل را در Backend پایتون استفاده کنید.
آیا Nova 2 Pro با Node.js کار میکند؟
بله. API مدل را میتوان از JavaScript و TypeScript فراخوانی کرد.
قیمت Nova 2 Pro چقدر است؟
قیمت ممکن است بهخصوص در دوره Preview تغییر کند. اطلاعات بهروز را در صفحه مدلهای درواره ببینید.
جمعبندی
Amazon Nova 2 Pro مدل پیشرفته خانواده Nova برای وظایفی است که به Reasoning عمیق، تحلیل چندوجهی، Context طولانی و اجرای چندمرحلهای نیاز دارند.
مهمترین قابلیتهای آن عبارتاند از:
- پردازش متن، تصویر، سند، صدا و ویدئو
- Context تا یک میلیون Token
- Extended Reasoning
- برنامهریزی بلندمدت
- Tool Calling
- Agentic Workflow
- Coding و Software Migration
- تحلیل چند سند
- Video Reasoning
- مناسب سیستمهای Multi-Agent
بهدلیل Preview بودن مدل، استفاده حرفهای از آن باید همراه با Evaluation، Fallback، Observability و Version Pinning باشد.
برای شروع:
- در درواره ثبتنام کنید.
- API Key دریافت کنید.
- مدل را در صفحه مدلهای درواره پیدا کنید.
- Model ID فعال را از همان صفحه کپی کنید.
- Base URL را روی
https://api.darvareh.ir/v1قرار دهید. - مدل را ابتدا در محیط آزمایشی ارزیابی کنید.
- برای Production یک مدل پایدار بهعنوان Fallback تعریف کنید.
- هزینه، Latency و نرخ موفقیت را اندازهگیری کنید.
مقالات مرتبط
- راهنمای جامع مدلهای هوش مصنوعی و انتخاب مدل مناسب
- راهنمای کامل AI Agent
- راهنمای AI Agent، ابزارها، Skills و MCP
- مقایسه بهترین SDKهای ساخت AI Agent
- راهنمای Function Calling در هوش مصنوعی
- راهنمای Tool Calling و اتصال مدل به ابزارها
- Context Window چیست و چگونه مدیریت میشود؟
- ساخت حافظه AI Agent با PostgreSQL و Redis
- ساخت RAG با LangChain و LlamaIndex
- Hybrid Search با BM25 و Vector Search
- Reranking و Cross-Encoder در RAG
- معماری چندمدلی و چندارائهدهنده هوش مصنوعی
- AI Router و انتخاب خودکار مدل
- Fallback در API هوش مصنوعی
- ساخت API هوش مصنوعی آماده Production
- آموزش اتصال API هوش مصنوعی به اپلیکیشن