Text Models (LLM)nvidia

معرفی و مستندات مدل هوش مصنوعی nemotron-nano-9b-v2

مستندات مدل nemotron-nano-9b-v2 از nvidia، ارائه شده توسط ای آی کار (AI-KAR).

معرفی و بررسی فنی

⚡ وضعیت پشتیبانی از زبان فارسی

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

مدل nemotron-nano-9b-v2 از nvidia یک مدل یکپارچه است که برای انجام وظایف استدلالی و غیر استدلالی طراحی شده است. این مدل ورودی‌های کاربر را با تولید یک ردیابی استدلالی پردازش می‌کند و سپس پاسخ نهایی را ارائه می‌دهد. رفتار استدلالی را می‌توان از طریق سیستم پرامپت تنظیم کرد - به مدل اجازه می‌دهد تا مراحل استدلالی میانی خود را نشان دهد یا مستقیماً با نتیجه نهایی پاسخ دهد. این مدل قابلیت‌های قوی در درک و خلاصه سازی اسناد ارائه می‌دهد. به طور خلاصه، این مدل با دریافت متن، ابتدا یک زنجیره استدلالی تولید می‌کند که شامل مراحل منطقی برای رسیدن به پاسخ است. سپس، با استفاده از این زنجیره استدلالی، پاسخ نهایی را تولید می‌کند. این فرآیند به مدل کمک می‌کند تا پاسخ‌های دقیق‌تر و مرتبط‌تری ارائه دهد. یکی از ویژگی‌های برجسته این مدل، قابلیت تنظیم رفتار استدلالی آن است. با استفاده از سیستم پرامپت، می‌توان تعیین کرد که مدل مراحل استدلالی خود را به کاربر نشان دهد یا فقط پاسخ نهایی را ارائه کند. این ویژگی به کاربران امکان می‌دهد تا نحوه تعامل مدل با آن‌ها را کنترل کنند و تجربه کاربری بهتری داشته باشند. علاوه بر این، مدل nemotron-nano-9b-v2 دارای قابلیت‌های قوی در درک و خلاصه سازی اسناد است. این مدل می‌تواند به طور موثر اسناد متنی را تحلیل کرده و خلاصه‌های دقیقی از آن‌ها ارائه دهد. این ویژگی برای کاربرانی که نیاز به پردازش حجم زیادی از اطلاعات متنی دارند، بسیار مفید است. در مجموع، مدل nemotron-nano-9b-v2 یک ابزار قدرتمند و انعطاف‌پذیر است که می‌تواند در طیف گسترده‌ای از کاربردها مورد استفاده قرار گیرد. از جمله این کاربردها می‌توان به پاسخگویی به سوالات، تولید متن، خلاصه سازی اسناد و ترجمه زبان اشاره کرد. با توجه به قابلیت‌های استدلالی و درک بالای این مدل، می‌توان انتظار داشت که در آینده نقش مهمی در توسعه هوش مصنوعی ایفا کند. این مدل به خوبی می‌تواند درک و خلاصه سازی اسناد را انجام دهد و برای کارهایی که نیاز به استدلال دارند مناسب است.

مشخصات فنی (API References)

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدلی که برای تولید پاسخ استفاده می‌شود. مقدار این پارامتر باید `nvidia/nemotron-nano-9b-v2` باشد.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا کنون تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلف پیام (مودالیته‌ها) مانند متن، اسناد (txt، pdf)، تصاویر و صدا پشتیبانی می‌شوند.
max_tokens
number
حداکثر تعداد توکن‌هایی که می‌توان در تکمیل چت تولید کرد. این مقدار می‌تواند برای کنترل هزینه‌های متن تولید شده از طریق API استفاده شود.
stream
boolean
اگر روی True تنظیم شود، داده‌های پاسخ مدل به صورت جریانی با استفاده از رویدادهای ارسال شده توسط سرور به کلاینت ارسال می‌شوند.
stream_options
object
تنظیمات مربوط به استریم کردن پاسخ.
tools
object[]
لیستی از ابزارهایی که مدل ممکن است فراخوانی کند. در حال حاضر، فقط توابع به عنوان ابزار پشتیبانی می‌شوند. از این برای ارائه لیستی از توابعی که مدل ممکن است ورودی‌های JSON را برای آنها تولید کند، استفاده کنید. حداکثر 128 تابع پشتیبانی می‌شود.
tool_choice
any of
کنترل می‌کند که کدام ابزار (در صورت وجود) توسط مدل فراخوانی شود. `none` به این معنی است که مدل هیچ ابزاری را فراخوانی نمی‌کند و در عوض یک پیام تولید می‌کند. `auto` به این معنی است که مدل می‌تواند بین تولید یک پیام یا فراخوانی یک یا چند ابزار انتخاب کند. `required` به این معنی است که مدل باید یک یا چند ابزار را فراخوانی کند. تعیین یک ابزار خاص از طریق `{"type": "function", "function": {"name": "my_function"}}` مدل را مجبور می‌کند تا آن ابزار را فراخوانی کند. `none` مقدار پیش‌فرض است زمانی که هیچ ابزاری وجود نداشته باشد. `auto` مقدار پیش‌فرض است اگر ابزارها وجود داشته باشند.
مقادیر مجاز (کلیک برای کپی):
parallel_tool_calls
boolean
تعیین اینکه آیا فراخوانی موازی تابع در حین استفاده از ابزار فعال شود یا خیر.
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 آن را متمرکزتر و قطعی‌تر می‌کنند. ما عموماً توصیه می‌کنیم این یا top_p را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی که 10٪ جرم احتمال برتر را تشکیل می‌دهند در نظر گرفته می‌شوند. ما عموماً توصیه می‌کنیم این یا دما را تغییر دهید، اما نه هر دو را.
stop
any of
حداکثر 4 دنباله که API تولید توکن‌های بیشتر را متوقف می‌کند. متن برگشتی شامل دنباله توقف نخواهد بود.
frequency_penalty
number
عدد بین -2.0 و 2.0. مقادیر مثبت، توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند، و احتمال تکرار عین به عین همان خط توسط مدل را کاهش می‌دهند.
prediction
object
پیکربندی برای یک خروجی پیش‌بینی‌شده، که می‌تواند زمان پاسخ را در زمانی که بخش‌های بزرگی از پاسخ مدل از قبل مشخص هستند، تا حد زیادی بهبود بخشد.
seed
integer
این ویژگی در نسخه بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به صورت قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند.
presence_penalty
number
مقادیر مثبت، توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند جریمه می‌کنند، و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
response_format
one of
شیئی که فرمتی را مشخص می‌کند که مدل باید خروجی دهد.
reasoning
object
پیکربندی برای توکن‌های استدلال/تفکر مدل
echo
boolean
اگر True باشد، پاسخ شامل پرامپت خواهد بود. می‌تواند با logprobs برای برگرداندن logprobs پرامپت استفاده شود.
min_p
number
عددی بین 0.001 و 0.999 که می‌تواند به عنوان جایگزینی برای top_p و top_k استفاده شود.
top_k
number
فقط از K گزینه برتر برای هر توکن بعدی نمونه‌برداری کنید. برای حذف پاسخ‌های کم احتمال "دنباله بلند" استفاده می‌شود. فقط برای موارد استفاده پیشرفته توصیه می‌شود. معمولاً فقط باید از دما استفاده کنید.
top_a
number
پارامتر نمونه‌برداری برتر جایگزین.
repetition_penalty
number
عددی که تنوع متن تولید شده را با کاهش احتمال تکرار دنباله‌های تکراری کنترل می‌کند. مقادیر بالاتر تکرار را کاهش می‌دهند.

نمونه کدهای درخواست

نکته مهم برای توسعه‌دهندگان:

برای احراز هویت، حتما کلید API خود را جایگزین YOUR_API_KEY کنید. هدر Authorization الزامی است.

import requests
import json  # for getting a structured output with indentation
response = requests.post(
    "https://api.ai-kar.com/v1/chat/completions",
    headers={
        # Insert your AI-KAR API Key instead of <YOUR_AI-KARAPI_KEY>:
        "Authorization":"Bearer <YOUR_AI-KARAPI_KEY>",
        "Content-Type":"application/json"
    },
    json={
        "model":"nvidia/nemotron-nano-9b-v2",
        "messages":[
            {
                "role":"user",
                "content":"Hello"  # insert your prompt here, instead of Hello
            }
        ]
    }
)
data = response.json()
print(json.dumps(data, indent=2, ensure_ascii=False))

نمونه پاسخ موفق (JSON)

RESPONSE (200 OK)
{
  "id": "text",
  "object": "text",
  "created": 1,
  "choices": [
    {
      "index": 1,
      "message": {
        "role": "text",
        "content": "text",
        "refusal": null,
        "annotations": [
          {
            "type": "text",
            "url_citation": {
              "end_index": 1,
              "start_index": 1,
              "title": "text",
              "url": "text"
            }
          }
        ],
        "audio": {
          "id": "text",
          "data": "text",
          "transcript": "text",
          "expires_at": 1
        },
        "tool_calls": [
          {
            "id": "text",
            "type": "text",
            "function": {
              "arguments": "text",
              "name": "text"
            }
          }
        ]
      },
      "finish_reason": "stop",
      "logprobs": {
        "content": [
          {
            "bytes": [
              1
            ],
            "logprob": 1,
            "token": "text",
            "top_logprobs": [
              {
                "bytes": [
                  1
                ],
                "logprob": 1,
                "token": "text"
              }
            ]
          }
        ],
        "refusal": []
      }
    }
  ],
  "model": "text",
  "usage": {
    "prompt_tokens": 1,
    "completion_tokens": 1,
    "total_tokens": 1,
    "completion_tokens_details": {
      "accepted_prediction_tokens": 1,
      "audio_tokens": 1,
      "reasoning_tokens": 1,
      "rejected_prediction_tokens": 1
    },
    "prompt_tokens_details": {
      "audio_tokens": 1,
      "cached_tokens": 1
    }
  }
}