Text Models (LLM)openai

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

مستندات مدل gpt-4o-audio-preview از ای آی کار (AI-KAR)

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

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

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

مدل gpt-4o-audio-preview یک مدل متنی است که از ورودی‌های صوتی پشتیبانی می‌کند و قادر به تولید پاسخ‌های صوتی است. این توسعه، پتانسیل برنامه‌های کاربردی هوش مصنوعی را در تعاملات متنی و صوتی و تحلیل صدا افزایش می‌دهد. شما می‌توانید از طیف گسترده‌ای از فرمت‌های صوتی برای خروجی انتخاب کنید و صدایی که مدل برای پاسخ‌های صوتی استفاده می‌کند را مشخص کنید.

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

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

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

مدل gpt-4o-audio-preview یک ابزار قدرتمند برای توسعه برنامه‌های کاربردی هوش مصنوعی با قابلیت‌های صوتی است. با استفاده از این مدل، می‌توانید تجربه‌های کاربری جذاب و نوآورانه‌ای را ایجاد کنید. این مدل به ویژه برای برنامه‌هایی که نیاز به تعامل صوتی با کاربران دارند، بسیار مناسب است. به عنوان مثال، می‌توان از این مدل در برنامه‌های آموزش زبان، دستیارهای صوتی، و یا سیستم‌های پاسخگویی خودکار استفاده کرد.

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

در نهایت، مدل gpt-4o-audio-preview یک گام بزرگ در جهت توسعه هوش مصنوعی صوتی است. این مدل امکانات جدیدی را در اختیار توسعه‌دهندگان قرار می‌دهد و پتانسیل برنامه‌های کاربردی هوش مصنوعی را در این زمینه افزایش می‌دهد.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده. باید `gpt-4o-audio-preview` باشد.
مقادیر مجاز (کلیک برای کپی):
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 نگه دارید تا هزینه‌ها به حداقل برسد.
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
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 آن را متمرکزتر و قطعی‌تر می‌کنند. ما به طور کلی توصیه می‌کنیم این یا top_p را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی که شامل 10٪ جرم احتمال برتر هستند در نظر گرفته می‌شوند. ما به طور کلی توصیه می‌کنیم این یا دما را تغییر دهید، اما نه هر دو را. حداقل مقدار: 0.01، حداکثر مقدار: 1
audio
object | nullable
پارامترها برای خروجی صوتی. هنگامی که خروجی صوتی با modalities: ["audio"] درخواست می‌شود، الزامی است.
modalities
string · enum[] | nullable
انواع خروجی که می‌خواهید مدل تولید کند. اکثر مدل‌ها قادر به تولید متن هستند، که مقدار پیش‌فرض است: ["text"] مدل gpt-4o-audio-preview همچنین می‌تواند برای تولید صدا استفاده شود. برای درخواست اینکه این مدل هم پاسخ‌های متنی و هم صوتی تولید کند، می‌توانید از این استفاده کنید: ["text", "audio"]
مقادیر مجاز (کلیک برای کپی):

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

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

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

from openai import OpenAI
import base64
import os
client = OpenAI(
    base_url = "https://api.ai-kar.com",
    # Insert your ای آی کار (AI-KAR) key instead of <YOUR_AI-KARAPI_KEY>:
    api_key = "<YOUR_AI-KARAPI_KEY>"
)
def main():
    response = client.chat.completions.create(
        model="gpt-4o-audio-preview",
        modalities=["text", "audio"],
        audio={"voice": "alloy", "format": "wav"},
        messages=[
            {
                "role": "system",
                "content": "Speak english" # Your instructions for the model
            },
            {
                "role": "user",
                "content": "Hello" # Your question (insert it istead of Hello)
            }
        ],
        max_tokens=6000,
    )
    wav_bytes = base64.b64decode(response.choices[0].message.audio.data)
    with open("audio.wav", "wb") as f:
        f.write(wav_bytes)
    dist = os.path.abspath("audio.wav")
    print("Audio saved to:", dist)
if __name__ == "__main__":
    main()

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