Amazon Nova 2 Pro چیست؟ آموزش کامل مدل Reasoning و Multimodal آمازون با API درواره

Amazon Nova 2 Pro مدل پیشرفته آمازون برای Reasoning، تحلیل متن، تصویر و ویدئو و ساخت AI Agent است. در این راهنما قابلیت‌ها و اتصال آن به API درواره را بررسی می‌کنیم.

Share
Amazon Nova 2 Pro چیست؟ آموزش کامل مدل Reasoning و Multimodal آمازون با 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 ProNova 2 Lite
هدف اصلیبالاترین کیفیت و استدلالسرعت و پردازش اقتصادی
وظایف پیچیدهمناسب‌ترمناسب وظایف عمومی
برنامه‌ریزی بلندمدتقوی‌ترمحدودتر
تحلیل چند سندمناسب‌ترمناسب حجم بالا
Agentic Codingمناسب‌ترمناسب وظایف ساده‌تر
Latencyاحتمالاً بیشترمعمولاً کمتر
هزینهبیشترکمتر
درخواست پرتعدادنیازمند Routingمناسب‌تر
مرحله نهایی Reviewمناسبوابسته به پیچیدگی
وضعیتPreviewActive

در یک معماری حرفه‌ای لازم نیست یکی از این دو مدل را برای تمام درخواست‌ها انتخاب کنید. می‌توان درخواست‌های ساده را به مدل اقتصادی‌تر و وظایف پیچیده را به Nova 2 Pro Route کرد.

تفاوت Nova 2 Pro با Nova Premier

Nova Premier نسل قبلی مدل بسیار قدرتمند خانواده Nova است، درحالی‌که Nova 2 Pro از نسل جدید Nova 2 محسوب می‌شود.

معیارNova 2 ProNova Premier
نسلNova 2Nova 1
تمرکزReasoning و Agentic WorkflowMultimodal و تحلیل پیچیده
وضعیت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

  1. هدف را دقیق تعریف کنید.
  2. اطلاعات را براساس ارتباط انتخاب کنید.
  3. اسناد را با RAG بازیابی کنید.
  4. نتایج را Rerank کنید.
  5. Context را بخش‌بندی و برچسب‌گذاری کنید.
  6. اطلاعات حیاتی را صریح مشخص کنید.
  7. تاریخچه Agent را خلاصه کنید.
  8. خروجی ابزارهای تکراری را حذف کنید.

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 درواره

برای شروع:

  1. در درواره ثبت‌نام کنید.
  2. API Key بسازید.
  3. مدل را در صفحه مدل‌ها پیدا کنید.
  4. Model ID فعال را کپی کنید.
  5. درخواست را از 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 Calling0 تا 0.2
Code Review0 تا 0.2
Debug0 تا 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 باشد.

برای شروع:

  1. در درواره ثبت‌نام کنید.
  2. API Key دریافت کنید.
  3. مدل را در صفحه مدل‌های درواره پیدا کنید.
  4. Model ID فعال را از همان صفحه کپی کنید.
  5. Base URL را روی https://api.darvareh.ir/v1 قرار دهید.
  6. مدل را ابتدا در محیط آزمایشی ارزیابی کنید.
  7. برای Production یک مدل پایدار به‌عنوان Fallback تعریف کنید.
  8. هزینه، Latency و نرخ موفقیت را اندازه‌گیری کنید.

مقالات مرتبط

Read more

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

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

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

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

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

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