Text Models (LLM)meta

معرفی و مستندات مدل هوش مصنوعی meta-llama-3.1-70b-instruct-turbo

مستندات مدل meta-llama-3.1-70b-instruct-turbo ارائه شده توسط ای آی کار (AI-KAR)

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

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

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

مدل meta-llama-3.1-70b-instruct-turbo یک مدل زبانی بزرگ (LLM) است که توسط Meta توسعه داده شده و برای انجام وظایف مختلف پردازش زبان طبیعی (NLP) طراحی شده است. این مدل به طور خاص برای استفاده در کاربردهای گفتگوی چند زبانه تنظیم شده است و در تولید و درک زبان طبیعی عملکرد بسیار خوبی دارد. این مدل از معماری ترانسفورمر استفاده می‌کند و با استفاده از مجموعه داده‌های عظیمی از متن و کد آموزش داده شده است. این آموزش به مدل امکان می‌دهد تا الگوها و روابط پیچیده در زبان را یاد بگیرد و متن منسجم، مرتبط و با کیفیت بالا تولید کند. مدل meta-llama-3.1-70b-instruct-turbo می‌تواند برای طیف گسترده‌ای از کاربردها استفاده شود، از جمله: * **چت‌بات‌ها و دستیارهای مجازی:** این مدل می‌تواند برای ایجاد چت‌بات‌ها و دستیارهای مجازی استفاده شود که می‌توانند به سوالات کاربران پاسخ دهند، اطلاعات ارائه دهند و وظایف مختلف را انجام دهند. * **تولید محتوا:** این مدل می‌تواند برای تولید انواع مختلف محتوا، از جمله مقالات، پست‌های وبلاگ، شرح محصولات و موارد دیگر استفاده شود. * **ترجمه زبان:** این مدل می‌تواند برای ترجمه متن از یک زبان به زبان دیگر استفاده شود. * **خلاصه‌سازی متن:** این مدل می‌تواند برای خلاصه کردن متن‌های طولانی استفاده شود. * **تکمیل متن:** این مدل می‌تواند برای تکمیل متن‌های ناقص استفاده شود. * **پاسخ به سوال:** این مدل می‌تواند برای پاسخ دادن به سوالات بر اساس متن ارائه شده استفاده شود. مدل meta-llama-3.1-70b-instruct-turbo با استفاده از API قابل دسترسی است و توسعه دهندگان می‌توانند از آن در برنامه‌های خود استفاده کنند. این مدل به طور مداوم در حال بهبود است و Meta به طور مرتب نسخه‌های جدیدی از آن را با عملکرد بهتر منتشر می‌کند. این مدل به دلیل توانایی درک و تولید زبان‌های مختلف، به ویژه برای کاربردهای چند زبانه بسیار مناسب است. با توجه به اندازه بزرگ و معماری پیشرفته، این مدل می‌تواند پاسخ‌های دقیق و مرتبطی را در زمینه‌های مختلف ارائه دهد و به عنوان یک ابزار قدرتمند برای توسعه دهندگان و محققان در زمینه هوش مصنوعی و پردازش زبان طبیعی محسوب می‌شود. این مدل در مقایسه با مدل‌های قبلی، بهبودهای قابل توجهی در دقت، سرعت و کارایی دارد و می‌تواند به عنوان یک راه حل مناسب برای بسیاری از چالش‌های موجود در زمینه پردازش زبان طبیعی مورد استفاده قرار گیرد.

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

پارامترنوعتوضیحات و مقادیر
model
stringRequired
مدلی که برای تولید پاسخ استفاده می‌شود.
مقادیر مجاز (کلیک برای کپی):
messages
one of[]Required
لیستی از پیام‌ها که مکالمه را تا به اینجا تشکیل می‌دهند. بسته به مدلی که استفاده می‌کنید، انواع مختلف پیام‌ها (modalities) مانند متن، اسناد (txt, pdf)، تصاویر و صدا پشتیبانی می‌شوند.
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
اینکه آیا فراخوانی موازی تابع در حین استفاده از ابزار فعال شود یا خیر.
echo
boolean
اگر True باشد، پاسخ شامل prompt خواهد بود. می‌توان از آن با logprobs برای برگرداندن prompt logprobs استفاده کرد.
temperature
number
از چه دمای نمونه‌برداری استفاده شود. مقادیر بالاتر مانند 0.8 خروجی را تصادفی‌تر می‌کنند، در حالی که مقادیر پایین‌تر مانند 0.2 آن را متمرکزتر و قطعی‌تر می‌کنند. ما معمولاً توصیه می‌کنیم این مقدار یا top_p را تغییر دهید، اما نه هر دو را.
top_p
number
جایگزینی برای نمونه‌برداری با دما، به نام نمونه‌برداری هسته‌ای، که در آن مدل نتایج توکن‌ها را با جرم احتمال top_p در نظر می‌گیرد. بنابراین 0.1 به این معنی است که فقط توکن‌هایی در نظر گرفته می‌شوند که 10٪ جرم احتمال برتر را تشکیل می‌دهند.
n
integer
چند انتخاب تکمیل چت برای هر پیام ورودی تولید شود. توجه داشته باشید که بر اساس تعداد توکن‌های تولید شده در تمام انتخاب‌ها، هزینه از شما دریافت می‌شود. n را به عنوان 1 نگه دارید تا هزینه‌ها به حداقل برسد.
stop
any of
حداکثر 4 دنباله که API تولید توکن‌های بیشتر را متوقف می‌کند. متن برگشتی شامل دنباله توقف نخواهد بود.
logprobs
boolean
اینکه آیا احتمال ورود به سیستم توکن‌های خروجی را برگرداند یا خیر. اگر True باشد، احتمال ورود به سیستم هر توکن خروجی را که در محتوای پیام برگردانده شده است، برمی‌گرداند.
top_logprobs
number
یک عدد صحیح بین 0 و 20 که تعداد محتمل‌ترین توکن‌ها را برای بازگشت در هر موقعیت توکن مشخص می‌کند، که هر کدام دارای یک احتمال ورود به سیستم مرتبط هستند. اگر این پارامتر استفاده شود، logprobs باید روی True تنظیم شود.
logit_bias
object
احتمال ظاهر شدن توکن‌های مشخص شده در تکمیل را تغییر دهید. یک شی JSON را می‌پذیرد که توکن‌ها (مشخص شده توسط شناسه توکن آنها در توکن‌ساز) را به یک مقدار بایاس مرتبط از -100 تا 100 نگاشت می‌کند. از نظر ریاضی، بایاس به logits تولید شده توسط مدل قبل از نمونه‌برداری اضافه می‌شود. اثر دقیق در هر مدل متفاوت خواهد بود، اما مقادیر بین -1 و 1 باید احتمال انتخاب را کاهش یا افزایش دهند. مقادیری مانند -100 یا 100 باید منجر به ممنوعیت یا انتخاب انحصاری توکن مربوطه شوند.
frequency_penalty
number
عدد بین -2.0 و 2.0. مقادیر مثبت توکن‌های جدید را بر اساس فراوانی موجود آنها در متن تا کنون جریمه می‌کنند و احتمال تکرار عین به عین همان خط را کاهش می‌دهند.
prediction
object
پیکربندی برای یک خروجی پیش‌بینی‌شده، که می‌تواند زمان پاسخ را هنگام مشخص بودن بخش‌های بزرگی از پاسخ مدل از قبل، تا حد زیادی بهبود بخشد.
presence_penalty
number
مقادیر مثبت توکن‌های جدید را بر اساس اینکه آیا در متن تا کنون ظاهر شده‌اند یا خیر، جریمه می‌کنند و احتمال صحبت کردن مدل در مورد موضوعات جدید را افزایش می‌دهند.
seed
integer
این ویژگی در بتا است. اگر مشخص شود، سیستم ما تمام تلاش خود را می‌کند تا به طور قطعی نمونه‌برداری کند، به طوری که درخواست‌های مکرر با همان seed و پارامترها باید نتیجه یکسانی را برگردانند.
min_p
number
عددی بین 0.001 و 0.999 که می‌تواند به عنوان جایگزینی برای top_p و top_k استفاده شود.
top_k
number
فقط از K گزینه برتر برای هر توکن بعدی نمونه‌برداری کنید. برای حذف پاسخ‌های «دنباله بلند» با احتمال کم استفاده می‌شود. فقط برای موارد استفاده پیشرفته توصیه می‌شود. معمولاً فقط باید از دما استفاده کنید.
repetition_penalty
number
عددی که تنوع متن تولید شده را با کاهش احتمال تکرار دنباله‌های تکراری کنترل می‌کند. مقادیر بالاتر تکرار را کاهش می‌دهند.

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

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

برای احراز هویت، حتما کلید 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":"meta-llama/Meta-Llama-3.1-70B-Instruct-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
    }
  }
}