Text Models (LLM)perplexity

معرفی و مستندات مدل هوش مصنوعی sonar

مستندات مدل sonar از Perplexity، ارائه شده توسط ای آی کار (AI-KAR).

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

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

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

مدل sonar، که توسط Perplexity توسعه داده شده است، بر پایه معماری Llama 3.3 70B بنا شده و برای جستجوهای Perplexity بهینه سازی شده است. این مدل با سرعت بالا و هزینه کم، برای جستجوهای روزمره و پاسخ به سوالات مناسب است. sonar برای خلاصه سازی موضوعات، بررسی صحت اطلاعات و پاسخ به پرسش‌های ساده ایده‌آل است. این مدل با بهره‌گیری از دانش گسترده و الگوریتم‌های پیشرفته، قادر است به سرعت و با دقت بالا، اطلاعات مورد نیاز کاربران را از منابع مختلف جمع‌آوری و ارائه کند.

یکی از ویژگی‌های برجسته sonar، سرعت بالای آن در پردازش درخواست‌ها است. این مدل با بهینه‌سازی‌های انجام شده، قادر است در کمترین زمان ممکن به سوالات کاربران پاسخ دهد. این ویژگی به ویژه برای کاربرانی که به دنبال پاسخ‌های فوری هستند، بسیار حائز اهمیت است. همچنین، هزینه استفاده از این مدل نسبت به سایر مدل‌های مشابه، بسیار پایین‌تر است که این امر آن را به یک گزینه اقتصادی و مقرون به صرفه تبدیل می‌کند.

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

برای استفاده از مدل sonar، ابتدا باید یک حساب کاربری در وب‌سایت ای آی کار (AI-KAR) ایجاد کنید و سپس یک کلید API تولید کنید. پس از آن، می‌توانید با استفاده از کد نمونه ارائه شده، درخواست‌های خود را به مدل ارسال کنید. در کد نمونه، باید کلید API خود را جایگزین عبارت <YOUR_AI-KARAPI_KEY> کنید و سوال یا درخواست خود را در فیلد content وارد کنید. همچنین، می‌توانید پارامترهای اختیاری دیگر را نیز تنظیم کنید تا رفتار مدل را مطابق با نیازهای خود تغییر دهید.

مدل sonar از پارامترهای مختلفی برای کنترل رفتار خود استفاده می‌کند. پارامتر max_tokens حداکثر تعداد توکن‌هایی که مدل می‌تواند تولید کند را تعیین می‌کند. پارامتر temperature میزان تصادفی بودن پاسخ‌ها را کنترل می‌کند. پارامتر top_p یک روش جایگزین برای نمونه‌برداری با دما است که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. پارامتر logit_bias احتمال ظاهر شدن توکن‌های مشخص شده در تکمیل را تغییر می‌دهد. پارامتر frequency_penalty توکن‌های جدید را بر اساس فراوانی موجود آنها در متن جریمه می‌کند. پارامتر presence_penalty توکن‌های جدید را بر اساس اینکه آیا در متن ظاهر می‌شوند جریمه می‌کند. پارامتر seed برای نمونه‌برداری قطعی استفاده می‌شود. پارامتر response_format فرمت خروجی مدل را تعیین می‌کند. پارامتر web_search_options تنظیمات مربوط به جستجوی وب را کنترل می‌کند.

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

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدلی که باید استفاده شود.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا کنون تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلف پیام (مودالیته‌ها) مانند متن، اسناد (txt، pdf)، تصاویر و صدا پشتیبانی می‌شوند.
max_tokens
number
حداکثر تعداد توکن‌هایی که می‌توان در تکمیل چت تولید کرد. این مقدار می‌تواند برای کنترل هزینه‌های متن تولید شده از طریق API استفاده شود.
stream
boolean
اگر روی True تنظیم شود، داده‌های پاسخ مدل به صورت جریانی با استفاده از رویدادهای ارسال شده از سرور به کلاینت ارسال می‌شوند.
stream_options
object
تنظیمات مربوط به استریم کردن داده‌ها.
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 آن را متمرکزتر و قطعی‌تر می‌کنند. ما معمولاً توصیه می‌کنیم این مقدار یا top_p را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی که 10٪ جرم احتمال برتر را تشکیل می‌دهند در نظر گرفته می‌شوند. ما معمولاً توصیه می‌کنیم این مقدار یا temperature را تغییر دهید، اما نه هر دو را.
logit_bias
object
احتمال ظاهر شدن توکن‌های مشخص شده در تکمیل را تغییر دهید. یک شی JSON را می‌پذیرد که توکن‌ها (مشخص شده توسط شناسه توکن آنها در توکن‌ساز) را به یک مقدار بایاس مرتبط از -100 تا 100 نگاشت می‌کند. از نظر ریاضی، بایاس به logits تولید شده توسط مدل قبل از نمونه‌برداری اضافه می‌شود. اثر دقیق در هر مدل متفاوت خواهد بود، اما مقادیر بین -1 و 1 باید احتمال انتخاب را کاهش یا افزایش دهند. مقادیری مانند -100 یا 100 باید منجر به ممنوعیت یا انتخاب انحصاری توکن مربوطه شوند.
frequency_penalty
number
عددی بین -2.0 و 2.0. مقادیر مثبت توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند و احتمال تکرار همان خط را توسط مدل کاهش می‌دهند.
presence_penalty
number
مقادیر مثبت توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر می‌شوند جریمه می‌کنند و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
seed
integer
این ویژگی در حالت بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به طور قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند.
response_format
one of
شیئی که فرمتی را مشخص می‌کند که مدل باید خروجی دهد.
web_search_options
object
این ابزار وب را برای نتایج مرتبط برای استفاده در پاسخ جستجو می‌کند.
top_k
number
فقط از K گزینه برتر برای هر توکن بعدی نمونه‌برداری کنید. برای حذف پاسخ‌های کم احتمال "دنباله بلند" استفاده می‌شود. فقط برای موارد استفاده پیشرفته توصیه می‌شود. معمولاً فقط باید از دما استفاده کنید.
search_mode
string
حالت جستجوی مورد استفاده برای درخواست را کنترل می‌کند. هنگامی که روی 'academic' تنظیم شود، نتایج منابع علمی مانند مقالات بررسی شده توسط همتایان و مجلات علمی را در اولویت قرار می‌دهند.
مقادیر مجاز (کلیک برای کپی):
search_domain_filter
string[]
لیستی از دامنه‌ها برای محدود کردن نتایج جستجو. در حال حاضر به 10 دامنه برای Allowlisting و Denylisting محدود شده است. برای Denylisting، یک - در ابتدای رشته دامنه اضافه کنید.
return_images
boolean
تعیین می‌کند که آیا نتایج جستجو باید شامل تصاویر باشند یا خیر.
return_related_questions
boolean
تعیین می‌کند که آیا سوالات مرتبط باید برگردانده شوند یا خیر.
search_recency_filter
string
نتایج جستجو را بر اساس زمان فیلتر می‌کند (به عنوان مثال، 'week'، 'day').
مقادیر مجاز (کلیک برای کپی):
search_after_date_filter
string
نتایج جستجو را فیلتر می‌کند تا فقط شامل محتوایی باشد که پس از این تاریخ منتشر شده است. قالب باید %m/%d/%Y باشد (به عنوان مثال 3/1/2025)
search_before_date_filter
string
نتایج جستجو را فیلتر می‌کند تا فقط شامل محتوایی باشد که قبل از این تاریخ منتشر شده است. قالب باید %m/%d/%Y باشد (به عنوان مثال 3/1/2025)
last_updated_after_filter
string
نتایج جستجو را فیلتر می‌کند تا فقط شامل محتوایی باشد که آخرین بار پس از این تاریخ به روز شده است. قالب باید %m/%d/%Y باشد (به عنوان مثال 3/1/2025)
last_updated_before_filter
string
نتایج جستجو را فیلتر می‌کند تا فقط شامل محتوایی باشد که آخرین بار قبل از این تاریخ به روز شده است. قالب باید %m/%d/%Y باشد (به عنوان مثال 3/1/2025)

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

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

برای احراز هویت، حتما کلید 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":"perplexity/sonar",
        "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": "541db1f4-d5ef-4e65-9474-a10843fa92ab",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "Hello is a common English salutation or greeting, first recorded in writing in 1826 in the United States. It has since become widely used in spoken and written communication as a way to say \"hi\" or initiate conversation[1]. \n\nAdditionally,"
      }
    }
  ]
}