Text Models (LLM)alibaba-cloud

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

مستندات مدل qwen-turbo از Alibaba Cloud، ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل qwen-turbo که توسط Alibaba Cloud توسعه داده شده است، به منظور بهبود عملکرد و کارایی عوامل هوش مصنوعی طراحی شده است که بر روی پلتفرم Alibaba Cloud Model Studio ساخته می‌شوند. این مدل برای سرعت و دقت در توسعه برنامه‌های کاربردی هوش مصنوعی مولد بهینه شده است. qwen-turbo درک و سازگاری عوامل هوش مصنوعی را با داده‌های سازمانی، به ویژه هنگام ادغام با معماری‌های Retrieval-Augmented Generation (RAG)، بهبود می‌بخشد. این مدل دارای یک پنجره متنی بزرگ با ظرفیت 1,000,000 توکن است که امکان پردازش و تولید متون طولانی و پیچیده را فراهم می‌کند. qwen-turbo با بهره‌گیری از الگوریتم‌های پیشرفته، قادر است پاسخ‌های دقیق‌تر و مرتبط‌تری را در مقایسه با مدل‌های قبلی ارائه دهد. این مدل به توسعه‌دهندگان کمک می‌کند تا برنامه‌های هوش مصنوعی خود را با سرعت بیشتری توسعه داده و بهینه‌سازی کنند. همچنین، qwen-turbo از قابلیت‌های پیشرفته‌ای برای درک و تولید زبان طبیعی برخوردار است که امکان تعاملات انسانی‌تر و مؤثرتر با کاربران را فراهم می‌سازد. این مدل با پشتیبانی از انواع مختلف داده‌ها، از جمله متن، تصاویر و صدا، امکان ایجاد برنامه‌های کاربردی متنوع و گسترده را فراهم می‌کند. qwen-turbo با ارائه یک API ساده و کارآمد، امکان ادغام آسان با سیستم‌های موجود را فراهم می‌کند. این مدل به طور مداوم در حال به‌روزرسانی و بهبود است تا از آخرین پیشرفت‌ها در زمینه هوش مصنوعی بهره‌مند شود. ای آی کار (AI-KAR) با ارائه این مستندات، تلاش می‌کند تا توسعه‌دهندگان را در استفاده بهینه از این مدل قدرتمند یاری رساند.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدل مورد استفاده. مقدار این پارامتر باید `alibaba/qwen-turbo` باشد.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا این لحظه تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلف پیام‌ها (modalities) مانند متن، اسناد (txt، pdf)، تصاویر و صدا پشتیبانی می‌شوند.
max_tokens
number
حداکثر تعداد توکن‌هایی که می‌توان در تکمیل چت تولید کرد. این مقدار می‌تواند برای کنترل هزینه‌های متن تولید شده از طریق API استفاده شود.
stream
boolean
اگر روی True تنظیم شود، داده‌های پاسخ مدل به صورت جریانی (stream) با استفاده از رویدادهای ارسال شده توسط سرور (server-sent events) به کلاینت ارسال می‌شود.
stream_options
object
تنظیمات مربوط به جریان داده (streaming).
tools
object[]
لیستی از ابزارهایی که مدل ممکن است فراخوانی کند. در حال حاضر، فقط توابع به عنوان ابزار پشتیبانی می‌شوند. از این برای ارائه لیستی از توابعی استفاده کنید که مدل ممکن است ورودی‌های JSON را برای آنها تولید کند. حداکثر 128 تابع پشتیبانی می‌شود.
tool_choice
any of
کنترل می‌کند که کدام ابزار (در صورت وجود) توسط مدل فراخوانی شود. `none` به این معنی است که مدل هیچ ابزاری را فراخوانی نمی‌کند و در عوض یک پیام تولید می‌کند. `auto` به این معنی است که مدل می‌تواند بین تولید یک پیام یا فراخوانی یک یا چند ابزار انتخاب کند. `required` به این معنی است که مدل باید یک یا چند ابزار را فراخوانی کند. تعیین یک ابزار خاص از طریق `{"type": "function", "function": {"name": "my_function"}}` مدل را مجبور می‌کند تا آن ابزار را فراخوانی کند. `none` مقدار پیش‌فرض است زمانی که هیچ ابزاری وجود نداشته باشد. `auto` مقدار پیش‌فرض است اگر ابزارها وجود داشته باشند.
مقادیر مجاز (کلیک برای کپی):
parallel_tool_calls
boolean
مشخص می‌کند که آیا فراخوانی موازی توابع در هنگام استفاده از ابزار فعال شود یا خیر.
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 خروجی را متمرکزتر و قطعی‌تر می‌کنند. به طور کلی توصیه می‌کنیم این مقدار یا `top_p` را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال `top_p` در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی که شامل 10٪ جرم احتمال برتر هستند در نظر گرفته می‌شوند. به طور کلی توصیه می‌کنیم این مقدار یا `temperature` را تغییر دهید، اما نه هر دو را.
stop
any of
حداکثر 4 دنباله که API تولید توکن‌های بیشتر را متوقف می‌کند. متن برگشتی شامل دنباله توقف نخواهد بود.
frequency_penalty
number
عددی بین -2.0 و 2.0. مقادیر مثبت، توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند، و احتمال تکرار عین به عین همان خط توسط مدل را کاهش می‌دهند.
prediction
object
پیکربندی برای یک خروجی پیش‌بینی‌شده، که می‌تواند زمان پاسخ را در زمانی که بخش‌های بزرگی از پاسخ مدل از قبل مشخص هستند، تا حد زیادی بهبود بخشد.
presence_penalty
number
مقادیر مثبت، توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند جریمه می‌کنند، و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
seed
integer
این ویژگی در نسخه بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به صورت قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند.
response_format
one of
شیئی که فرمتی را مشخص می‌کند که مدل باید خروجی دهد.
logprobs
boolean
مشخص می‌کند که آیا احتمالات لگاریتمی توکن‌های خروجی برگردانده شوند یا خیر. اگر True باشد، احتمالات لگاریتمی هر توکن خروجی برگشتی در محتوای پیام برگردانده می‌شود.
top_logprobs
number
یک عدد صحیح بین 0 و 20 که تعداد محتمل‌ترین توکن‌ها را برای بازگشت در هر موقعیت توکن مشخص می‌کند، هر کدام با یک احتمال لگاریتمی مرتبط. اگر این پارامتر استفاده شود، `logprobs` باید روی True تنظیم شود.

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

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

برای احراز هویت، حتما کلید 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":"qwen-turbo",
        "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
    }
  }
}