Text Models (LLM)openai

معرفی و مستندات مدل هوش مصنوعی gpt-4o-mini

مستندات مدل gpt-4o-mini ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل gpt-4o-mini از OpenAI، یک مدل هوش مصنوعی مقرون به صرفه است که برای ارائه قابلیت‌های پیشرفته پردازش زبان طبیعی و چندوجهی طراحی شده است. هدف این مدل، در دسترس قرار دادن هوش مصنوعی با هزینه کمتر است، که به طور قابل توجهی دامنه کاربردهایی که می‌توانند از فناوری هوش مصنوعی بهره ببرند را گسترش می‌دهد. این مدل برای انجام وظایف مختلفی از جمله پاسخ به سوالات، تولید متن، ترجمه زبان، خلاصه سازی متون، و تولید محتوای خلاقانه مناسب است. با توجه به طراحی بهینه، gpt-4o-mini می‌تواند در محیط‌های مختلف، از جمله برنامه‌های کاربردی موبایل، وب‌سایت‌ها، و سیستم‌های تعاملی مورد استفاده قرار گیرد. این مدل با ارائه عملکردی قوی و کارآمد، به توسعه‌دهندگان و کسب‌وکارها کمک می‌کند تا راه‌حل‌های هوشمندانه و نوآورانه‌ای را با هزینه کمتری ایجاد کنند. یکی از ویژگی‌های برجسته gpt-4o-mini، توانایی آن در پردازش و درک زبان‌های مختلف است، که آن را به یک ابزار ارزشمند برای کاربردهای بین‌المللی تبدیل می‌کند. همچنین، این مدل از قابلیت‌های چندوجهی پشتیبانی می‌کند، به این معنی که می‌تواند ورودی‌های مختلفی مانند متن، تصویر و صدا را پردازش کند و پاسخ‌های مناسبی ارائه دهد. این ویژگی به gpt-4o-mini امکان می‌دهد تا در برنامه‌های کاربردی متنوعی مانند تشخیص چهره، تحلیل احساسات، و تولید محتوای چندرسانه‌ای مورد استفاده قرار گیرد. با توجه به معماری پیشرفته و الگوریتم‌های بهینه‌سازی شده، gpt-4o-mini قادر است با سرعت بالا و دقت مناسب، پاسخ‌های مرتبط و مفیدی را ارائه دهد. این مدل به طور مداوم در حال بهبود و به‌روزرسانی است تا با نیازهای روزافزون کاربران و تغییرات فناوری همگام باشد. در مجموع، gpt-4o-mini یک راهکار قدرتمند و مقرون به صرفه برای استفاده از هوش مصنوعی در برنامه‌های کاربردی مختلف است و به کاربران امکان می‌دهد تا با هزینه کمتر، از مزایای این فناوری بهره‌مند شوند. این مدل به ویژه برای کسب‌وکارهای کوچک و متوسط که به دنبال راه‌حل‌های هوشمندانه و کارآمد هستند، بسیار مناسب است.

مشخصات فنی (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
تنظیمات مربوط به جریان داده.
tools
object[]
لیستی از ابزارهایی که مدل ممکن است فراخوانی کند. در حال حاضر، فقط توابع به عنوان ابزار پشتیبانی می‌شوند. از این برای ارائه لیستی از توابعی که مدل ممکن است ورودی‌های JSON را برای آنها تولید کند استفاده کنید. حداکثر 128 تابع پشتیبانی می‌شود.
tool_choice
any of
کنترل می‌کند که کدام ابزار (در صورت وجود) توسط مدل فراخوانی شود. none به این معنی است که مدل هیچ ابزاری را فراخوانی نمی‌کند و در عوض یک پیام تولید می‌کند. auto به این معنی است که مدل می‌تواند بین تولید یک پیام یا فراخوانی یک یا چند ابزار انتخاب کند. required به این معنی است که مدل باید یک یا چند ابزار را فراخوانی کند. تعیین یک ابزار خاص از طریق {"type": "function", "function": {"name": "my_function"}} مدل را مجبور می‌کند تا آن ابزار را فراخوانی کند. none مقدار پیش فرض است زمانی که هیچ ابزاری وجود نداشته باشد. auto مقدار پیش فرض است اگر ابزارها وجود داشته باشند.
مقادیر مجاز (کلیک برای کپی):
parallel_tool_calls
boolean
فعال کردن یا غیرفعال کردن فراخوانی همزمان توابع در هنگام استفاده از ابزار.
n
integer | nullable
تعداد انتخاب‌های تکمیل چت که برای هر پیام ورودی تولید می‌شود. توجه داشته باشید که هزینه بر اساس تعداد توکن‌های تولید شده در تمام انتخاب‌ها محاسبه می‌شود. مقدار n را 1 نگه دارید تا هزینه‌ها به حداقل برسد.
stop
any of
حداکثر 4 دنباله که API تولید توکن‌های بیشتر را متوقف می‌کند. متن بازگشتی شامل دنباله توقف نخواهد بود.
logprobs
boolean | nullable
اینکه آیا احتمال ورود توکن‌های خروجی برگردانده شود یا خیر. اگر True باشد، احتمال ورود هر توکن خروجی که در محتوای پیام برگردانده شده است را برمی‌گرداند.
top_logprobs
number | nullable
یک عدد صحیح بین 0 و 20 که تعداد محتمل‌ترین توکن‌ها را برای بازگشت در هر موقعیت توکن مشخص می‌کند، هر کدام با یک احتمال ورود مرتبط. اگر این پارامتر استفاده شود، logprobs باید روی True تنظیم شود.
logit_bias
object | nullable
احتمال ظاهر شدن توکن‌های مشخص شده در تکمیل را تغییر می‌دهد. یک شی JSON را می‌پذیرد که توکن‌ها (مشخص شده توسط شناسه توکن آنها در توکنایزر) را به یک مقدار بایاس مرتبط از -100 تا 100 نگاشت می‌کند. از نظر ریاضی، بایاس به logits تولید شده توسط مدل قبل از نمونه‌برداری اضافه می‌شود. اثر دقیق برای هر مدل متفاوت خواهد بود، اما مقادیر بین -1 و 1 باید احتمال انتخاب را کاهش یا افزایش دهد. مقادیری مانند -100 یا 100 باید منجر به ممنوعیت یا انتخاب انحصاری توکن مربوطه شود.
frequency_penalty
number | nullable
عدد بین -2.0 و 2.0. مقادیر مثبت توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند، و احتمال تکرار عین به عین همان خط توسط مدل را کاهش می‌دهند.
prediction
object
پیکربندی برای یک خروجی پیش‌بینی‌شده، که می‌تواند زمان پاسخ را در صورت مشخص بودن بخش‌های بزرگی از پاسخ مدل از قبل، به میزان زیادی بهبود بخشد.
presence_penalty
number | nullable
مقادیر مثبت توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند یا خیر جریمه می‌کنند، و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
seed
integer
این ویژگی در نسخه بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به طور قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند.
response_format
one of
یک شی که فرمتی را مشخص می‌کند که مدل باید خروجی دهد.
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 آن را متمرکزتر و قطعی‌تر می‌کنند. ما معمولاً توصیه می‌کنیم این یا top_p را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی که 10٪ جرم احتمال برتر را تشکیل می‌دهند در نظر گرفته می‌شوند. ما معمولاً توصیه می‌کنیم این یا دما را تغییر دهید، اما نه هر دو را.

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

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

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

import requests
import json

url = 'https://api.ai-kar.com/v1/chat/completions'
headers = {
    'Authorization': 'Bearer <YOUR_AI-KARAPI_KEY>',
    'Content-Type': 'application/json'
}
data = {
    'model': 'gpt-4o-mini',
    'messages': [
        {
            'role': 'user',
            'content': 'Hello'
        }
    ]
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    print(json.dumps(response.json(), indent=2))
else:
    print(f'Error: {response.status_code}')
    print(response.text)

نمونه پاسخ موفق (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
    }
  }
}