Text Models (LLM)openai

معرفی و مستندات مدل هوش مصنوعی gpt-oss-20b

مستندات مدل gpt-oss-20b ارائه شده توسط ای ای کار (AI-KAR)

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

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

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

معرفی مدل gpt-oss-20b

مدل gpt-oss-20b یک مدل هوش مصنوعی بزرگ (Large Language Model) است که توسط OpenAI توسعه داده شده و برای استفاده عموم منتشر شده است. این مدل به طور خاص برای استدلال قوی و استفاده از ابزارها طراحی شده است. این بدان معناست که gpt-oss-20b نه تنها قادر به تولید متن است، بلکه می‌تواند مسائل پیچیده را حل کند و با استفاده از ابزارهای مختلف، خروجی‌های دقیق‌تر و مفیدتری ارائه دهد.

این مدل به عنوان یک مدل متن‌محور (text-only) شناخته می‌شود، به این معنی که ورودی و خروجی آن فقط شامل متن است. این ویژگی باعث می‌شود که استفاده از آن در برنامه‌های مختلف بسیار ساده باشد. gpt-oss-20b می‌تواند در زمینه‌های مختلفی مانند تولید محتوا، پاسخ به سوالات، خلاصه‌سازی متون، ترجمه زبان‌ها، و تولید کد مورد استفاده قرار گیرد.

یکی از ویژگی‌های برجسته gpt-oss-20b، توانایی بالای آن در استدلال است. این مدل می‌تواند الگوها را در داده‌ها شناسایی کند، روابط بین مفاهیم را درک کند، و بر اساس این درک، پاسخ‌های منطقی و معقول ارائه دهد. این ویژگی آن را برای کاربردهایی مانند حل مسائل ریاضی، تحلیل داده‌ها، و تصمیم‌گیری مناسب می‌سازد.

علاوه بر این، gpt-oss-20b به گونه‌ای طراحی شده است که بتواند از ابزارهای مختلف استفاده کند. این ابزارها می‌توانند شامل APIهای خارجی، پایگاه‌های داده، و سایر منابع اطلاعاتی باشند. با استفاده از این ابزارها، مدل می‌تواند اطلاعات بیشتری را جمع‌آوری کند، محاسبات پیچیده‌تری را انجام دهد، و خروجی‌های دقیق‌تر و کامل‌تری ارائه دهد.

برای مثال، فرض کنید که می‌خواهید از gpt-oss-20b برای تولید یک گزارش آب و هوا استفاده کنید. مدل می‌تواند با استفاده از یک API آب و هوا، اطلاعات مربوط به دما، رطوبت، و سرعت باد را جمع‌آوری کند، و سپس با استفاده از این اطلاعات، یک گزارش کامل و دقیق تولید کند.

در مجموع، gpt-oss-20b یک مدل هوش مصنوعی قدرتمند و انعطاف‌پذیر است که می‌تواند در زمینه‌های مختلفی مورد استفاده قرار گیرد. توانایی بالای آن در استدلال و استفاده از ابزارها، آن را به یک ابزار ارزشمند برای توسعه‌دهندگان و محققان تبدیل کرده است.

نحوه استفاده از مدل:

  1. ابتدا باید یک حساب کاربری در وب‌سایت AI-KAR ایجاد کنید.
  2. سپس باید یک کلید API تولید کنید و آن را در کد خود قرار دهید.
  3. در نهایت، می‌توانید با استفاده از API، درخواست‌های خود را به مدل ارسال کنید و پاسخ‌های آن را دریافت کنید.

برای اطلاعات بیشتر در مورد نحوه استفاده از مدل، می‌توانید به مستندات API مراجعه کنید.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
نام مدلی که می‌خواهید از آن استفاده کنید.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا به اینجا تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلف پیام‌ها (modalities) مانند متن، اسناد (txt, pdf)، تصاویر و صدا پشتیبانی می‌شوند.
max_completion_tokens
integer
حد بالایی برای تعداد توکن‌هایی که می‌توان برای تکمیل تولید کرد، از جمله توکن‌های خروجی قابل مشاهده و توکن‌های استدلال.
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٪ جرم احتمال برتر هستند در نظر گرفته می‌شوند. ما معمولاً توصیه می‌کنیم این مقدار یا دما را تغییر دهید، اما نه هر دو را.
seed
integer
این ویژگی در نسخه بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به صورت قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید همان نتیجه را برگردانند.
min_p
number
عددی بین 0.001 و 0.999 که می‌تواند به عنوان جایگزینی برای top_p و top_k استفاده شود.
top_k
number
فقط از K گزینه برتر برای هر توکن بعدی نمونه‌برداری کنید. برای حذف پاسخ‌های با احتمال پایین "دنباله بلند" استفاده می‌شود. فقط برای موارد استفاده پیشرفته توصیه می‌شود. معمولاً فقط باید از دما استفاده کنید.
repetition_penalty
number
عددی که تنوع متن تولید شده را با کاهش احتمال تکرار توالی‌ها کنترل می‌کند. مقادیر بالاتر تکرار را کاهش می‌دهند.
top_a
number
پارامتر نمونه‌برداری برتر جایگزین.
tools
object[]
لیستی از ابزارهایی که مدل ممکن است فراخوانی کند. در حال حاضر، فقط توابع به عنوان ابزار پشتیبانی می‌شوند. از این برای ارائه لیستی از توابعی استفاده کنید که مدل ممکن است ورودی‌های JSON را برای آنها تولید کند. حداکثر 128 تابع پشتیبانی می‌شود.
tool_choice
any of
کنترل می‌کند که کدام ابزار (در صورت وجود) توسط مدل فراخوانی شود. none به این معنی است که مدل هیچ ابزاری را فراخوانی نمی‌کند و در عوض یک پیام تولید می‌کند. auto به این معنی است که مدل می‌تواند بین تولید یک پیام یا فراخوانی یک یا چند ابزار انتخاب کند. required به این معنی است که مدل باید یک یا چند ابزار را فراخوانی کند. تعیین یک ابزار خاص از طریق {"type": "function", "function": {"name": "my_function"}} مدل را مجبور می‌کند تا آن ابزار را فراخوانی کند.
مقادیر مجاز (کلیک برای کپی):
parallel_tool_calls
boolean
اینکه آیا فراخوانی تابع موازی را در حین استفاده از ابزار فعال کنیم یا خیر.
logit_bias
object
احتمال ظاهر شدن توکن‌های مشخص شده در تکمیل را تغییر دهید. یک شی JSON را می‌پذیرد که توکن‌ها (مشخص شده توسط شناسه توکن آنها در توکن‌ساز) را به یک مقدار بایاس مرتبط از -100 تا 100 نگاشت می‌کند. از نظر ریاضی، بایاس به logits تولید شده توسط مدل قبل از نمونه‌برداری اضافه می‌شود. اثر دقیق برای هر مدل متفاوت خواهد بود، اما مقادیر بین -1 و 1 باید احتمال انتخاب را کاهش یا افزایش دهند. مقادیری مانند -100 یا 100 باید منجر به ممنوعیت یا انتخاب انحصاری توکن مربوطه شود.
frequency_penalty
number
عددی بین -2.0 و 2.0. مقادیر مثبت توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند و احتمال تکرار همان خط را به صورت کلمه به کلمه کاهش می‌دهند.
prediction
object
پیکربندی برای یک خروجی پیش‌بینی‌شده، که می‌تواند زمان پاسخ را در زمانی که بخش‌های بزرگی از پاسخ مدل از قبل مشخص هستند، بسیار بهبود بخشد.
presence_penalty
number
مقادیر مثبت توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند جریمه می‌کنند و احتمال صحبت در مورد موضوعات جدید را افزایش می‌دهند.
response_format
one of
شیئی که قالبی را مشخص می‌کند که مدل باید خروجی دهد.
reasoning_effort
string
تلاش برای استدلال را برای مدل‌های استدلال محدود می‌کند. مقادیر پشتیبانی شده در حال حاضر عبارتند از low، medium و high. کاهش تلاش برای استدلال می‌تواند منجر به پاسخ‌های سریع‌تر و توکن‌های کمتری شود که در استدلال در یک پاسخ استفاده می‌شوند.
مقادیر مجاز (کلیک برای کپی):
echo
boolean
اگر True باشد، پاسخ شامل prompt خواهد بود. می توان با logprobs برای برگرداندن prompt logprobs استفاده کرد.

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

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

برای احراز هویت، حتما کلید 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":"openai/gpt-oss-20b",
        "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
    }
  }
}