معرفی و مستندات مدل هوش مصنوعی 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 یک مدل هوش مصنوعی قدرتمند و انعطافپذیر است که میتواند در زمینههای مختلفی مورد استفاده قرار گیرد. توانایی بالای آن در استدلال و استفاده از ابزارها، آن را به یک ابزار ارزشمند برای توسعهدهندگان و محققان تبدیل کرده است.
نحوه استفاده از مدل:
- ابتدا باید یک حساب کاربری در وبسایت AI-KAR ایجاد کنید.
- سپس باید یک کلید API تولید کنید و آن را در کد خود قرار دهید.
- در نهایت، میتوانید با استفاده از 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)
{
"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
}
}
}