Text Models (LLM)nousresearch

معرفی و مستندات مدل هوش مصنوعی hermes-4-405b

مستندات مدل hermes-4-405b ارائه شده توسط ای ای کار (AI-KAR)

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

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

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

مدل hermes-4-405b یک مدل هوش مصنوعی ترکیبی است که توسط nousresearch توسعه داده شده است. این مدل با هدف ارائه پاسخ‌های خلاقانه، جذاب و بی‌طرفانه طراحی شده است. hermes-4-405b در زمینه‌های مختلفی از جمله ریاضیات، کدنویسی و استدلال، عملکرد بسیار خوبی از خود نشان می‌دهد و در میان مدل‌های متن‌باز هم‌وزن، به عنوان یکی از پیشروها شناخته می‌شود. این مدل قادر است با دریافت ورودی‌های متنی، پاسخ‌های مناسب و مرتبط تولید کند. همچنین، hermes-4-405b می‌تواند در تولید محتوا، خلاصه‌سازی متون، پاسخ به سوالات و انجام وظایف مختلف دیگر به کاربران کمک کند. یکی از ویژگی‌های برجسته این مدل، توانایی بالای آن در درک و تولید کد است که آن را به ابزاری ارزشمند برای توسعه‌دهندگان تبدیل می‌کند. این مدل با استفاده از تکنیک‌های پیشرفته یادگیری عمیق آموزش داده شده است و قادر است الگوهای پیچیده را در داده‌ها تشخیص دهد و بر اساس آن‌ها، پاسخ‌های دقیق و معنادار تولید کند. hermes-4-405b به گونه‌ای طراحی شده است که به راحتی قابل استفاده باشد و کاربران با حداقل دانش فنی نیز بتوانند از آن بهره‌مند شوند. این مدل از طریق API قابل دسترسی است و توسعه‌دهندگان می‌توانند آن را در برنامه‌ها و سرویس‌های خود ادغام کنند. با توجه به عملکرد بالا و قابلیت‌های گسترده، hermes-4-405b می‌تواند به عنوان یک ابزار قدرتمند در زمینه‌های مختلف مورد استفاده قرار گیرد و به بهبود کارایی و افزایش بهره‌وری کمک کند. این مدل به طور مداوم در حال توسعه و بهبود است و در آینده، قابلیت‌های جدیدی به آن اضافه خواهد شد. تیم توسعه‌دهنده nousresearch همواره در تلاش است تا این مدل را به یک ابزار هوش مصنوعی جامع و کارآمد تبدیل کند که بتواند نیازهای مختلف کاربران را برآورده سازد. مدل hermes-4-405b با ارائه ترکیبی از خلاقیت، دقت و کارایی، به عنوان یک گزینه مناسب برای استفاده در پروژه‌های مختلف هوش مصنوعی مطرح است. این مدل با توانایی‌های خود در زمینه‌های مختلف، می‌تواند به عنوان یک همکار هوشمند در کنار انسان‌ها به انجام وظایف مختلف بپردازد و به بهبود کیفیت زندگی کمک کند.

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

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

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

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

برای احراز هویت، حتما کلید 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": "nousresearch/hermes-4-405b",
        "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
    }
  }
}