Text Models (LLM)openai

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

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

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

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

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

مدل gpt-4-turbo، یکی از پیشرفته‌ترین مدل‌های زبانی ارائه شده توسط OpenAI است که در ای آی کار (AI-KAR) در دسترس قرار گرفته است. این مدل با هدف بهبود سرعت و کارایی در پاسخ‌دهی طراحی شده و به عنوان جایگزینی برای مدل‌های gpt-4-preview قبلی عرضه شده است. gpt-4-turbo با کاهش چشمگیر زمان پاسخ‌دهی، برای کاربردهایی که نیاز به بازخورد فوری دارند، بسیار مناسب است. این مدل قادر است حجم وسیعی از داده‌ها را پردازش کرده و پاسخ‌های دقیق و مرتبطی ارائه دهد. از جمله کاربردهای اصلی این مدل می‌توان به موارد زیر اشاره کرد:

1. **پاسخگویی به سوالات:** gpt-4-turbo می‌تواند به سوالات پیچیده و چندوجهی پاسخ دهد. این مدل با درک عمیق از متن، قادر است اطلاعات مورد نیاز را استخراج کرده و به صورت خلاصه و مفید ارائه دهد.

2. **تولید محتوا:** این مدل می‌تواند انواع مختلفی از محتوا را تولید کند، از جمله مقالات، گزارش‌ها، ایمیل‌ها و متون تبلیغاتی. با استفاده از gpt-4-turbo، می‌توانید به سرعت و با کیفیت بالا محتوای مورد نیاز خود را تولید کنید.

3. **ترجمه زبان:** gpt-4-turbo می‌تواند متون را از یک زبان به زبان دیگر ترجمه کند. این مدل با پشتیبانی از زبان‌های مختلف، به شما کمک می‌کند تا با مخاطبان بین‌المللی ارتباط برقرار کنید.

4. **خلاصه‌سازی متون:** این مدل می‌تواند متون طولانی را به صورت خلاصه و مفید ارائه دهد. با استفاده از gpt-4-turbo، می‌توانید به سرعت اطلاعات کلیدی را از متون بزرگ استخراج کنید.

5. **تولید کد:** gpt-4-turbo می‌تواند کد‌های برنامه‌نویسی را تولید کند. این مدل با پشتیبانی از زبان‌های برنامه‌نویسی مختلف، به شما کمک می‌کند تا به سرعت و با دقت کد‌های مورد نیاز خود را تولید کنید.

6. **تحلیل احساسات:** این مدل می‌تواند احساسات موجود در متن را تحلیل کند. با استفاده از gpt-4-turbo، می‌توانید نظرات و احساسات مشتریان خود را در مورد محصولات و خدمات خود بررسی کنید.

برای استفاده از این مدل در ای ای کار، ابتدا باید یک حساب کاربری ایجاد کرده و کلید API خود را دریافت کنید. سپس می‌توانید با استفاده از کد‌های نمونه ارائه شده، درخواست‌های خود را به مدل ارسال کنید. پارامترهای مختلفی برای تنظیم رفتار مدل وجود دارد که می‌توانید بر اساس نیاز خود آن‌ها را تغییر دهید. به عنوان مثال، می‌توانید حداکثر تعداد توکن‌های تولید شده، احتمال تصادفی بودن پاسخ‌ها و سایر تنظیمات را تغییر دهید.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
شناسه مدلی که برای تولید پاسخ استفاده می‌شود.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا به اینجا تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلفی از پیام‌ها (modalities) مانند متن، اسناد (txt, pdf)، تصاویر و صدا پشتیبانی می‌شوند.
max_completion_tokens
integer
حد بالایی برای تعداد توکن‌هایی که می‌توان برای تکمیل تولید کرد، شامل توکن‌های خروجی قابل مشاهده و توکن‌های استدلال. حداقل مقدار: 1
max_tokens
number
حداکثر تعداد توکن‌هایی که می‌توان در تکمیل چت تولید کرد. این مقدار می‌تواند برای کنترل هزینه‌های متن تولید شده از طریق API استفاده شود. حداقل مقدار: 1
stream
boolean
اگر روی True تنظیم شود، داده‌های پاسخ مدل به صورت جریانی با استفاده از رویدادهای ارسال شده توسط سرور به کلاینت ارسال می‌شود. مقدار پیش‌فرض: false
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. مقادیر مثبت توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند و احتمال تکرار همان خط را توسط مدل کاهش می‌دهند.
presence_penalty
number | nullable
مقادیر مثبت توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند جریمه می‌کنند و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
seed
integer
این ویژگی در حالت بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به طور قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند. حداقل مقدار: 1
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-4-turbo',
    'messages': [
        {
            'role': 'user',
            'content': 'Hello'
        }
    ]
}

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

print(response.json())

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