Text Models (LLM)mistral-ai
معرفی و مستندات مدل هوش مصنوعی mistral-7b-instruct
مستندات مدل mistral-7b-instruct ارائه شده توسط ای ای کار (AI-KAR)
معرفی و بررسی فنی
⚡ وضعیت پشتیبانی از زبان فارسی
این مدل از زبان فارسی به صورت متوسط پشتیبانی میکند. درک نسبی از دستورات فارسی دارد اما ممکن است در تولید متون پیچیده و ظریف فارسی دچار مشکل شود.
مدل mistral-7b-instruct یک نسخه پیشرفته از مدل Mistral-7B است که به طور خاص برای وظایف مبتنی بر دستورالعمل، fine-tune شده است. این مدل به منظور بهبود قابلیتهای تولید و درک زبان طراحی شده است. این مدل میتواند در زمینههای مختلفی از جمله پاسخ به سوالات، تولید متن خلاقانه، ترجمه زبان، خلاصه سازی متون و تولید کد مورد استفاده قرار گیرد. مدل mistral-7b-instruct با استفاده از مجموعه دادههای گستردهای از دستورالعملها و متون آموزشی، توانایی درک و پیروی از دستورالعملهای پیچیده را به دست آورده است. این مدل قادر است با دقت بالایی به سوالات پاسخ دهد و متونی را تولید کند که از نظر گرامری صحیح، روان و مرتبط با موضوع باشند. یکی از ویژگیهای برجسته این مدل، توانایی آن در تولید متن خلاقانه است. مدل mistral-7b-instruct میتواند داستانها، شعرها و سایر انواع متون خلاقانه را با سبکها و لحنهای مختلف تولید کند. این مدل همچنین میتواند در ترجمه زبان مورد استفاده قرار گیرد. مدل mistral-7b-instruct قادر است متون را از یک زبان به زبان دیگر با دقت بالایی ترجمه کند. این مدل میتواند در خلاصه سازی متون نیز مورد استفاده قرار گیرد. مدل mistral-7b-instruct قادر است متون طولانی را به خلاصههای کوتاه و دقیقی تبدیل کند. این مدل همچنین میتواند در تولید کد مورد استفاده قرار گیرد. مدل mistral-7b-instruct قادر است کد را در زبانهای برنامه نویسی مختلف تولید کند. برای استفاده از این مدل، ابتدا باید یک حساب کاربری در وبسایت ای آی کار (AI-KAR) ایجاد کنید. پس از ایجاد حساب کاربری، باید یک کلید API تولید کنید. سپس میتوانید از طریق API به مدل دسترسی پیدا کنید. برای این کار، باید یک درخواست HTTP POST به آدرس `https://api.ai-kar.com/v1/chat/completions` ارسال کنید. درخواست باید شامل یک بدنه JSON باشد که حاوی پارامترهای مورد نظر شما است. پارامترهای مورد نیاز عبارتند از `model` و `messages`. پارامتر `model` باید نام مدل مورد نظر شما را مشخص کند. پارامتر `messages` باید لیستی از پیامها باشد که میخواهید به مدل ارسال کنید. هر پیام باید شامل یک نقش (`role`) و یک محتوا (`content`) باشد. نقش میتواند `user` یا `assistant` باشد. محتوا باید متن پیام باشد. پس از ارسال درخواست، مدل یک پاسخ JSON را برمیگرداند که حاوی پاسخ مدل به پیام شما است. پاسخ شامل یک شناسه (`id`)، یک شیء (`object`)، یک زمان ایجاد (`created`)، یک لیست از انتخابها (`choices`)، نام مدل (`model`) و اطلاعات مربوط به مصرف توکن (`usage`) است. هر انتخاب شامل یک شاخص (`index`)، یک دلیل پایان (`finish_reason`)، احتمالات لگاریتمی (`logprobs`) و یک پیام (`message`) است. پیام شامل یک نقش (`role`) و یک محتوا (`content`) است. محتوا شامل پاسخ مدل به پیام شما است.
مشخصات فنی (API References)
| پارامتر | نوع | توضیحات و مقادیر |
|---|---|---|
model | stringRequired | مدل مورد استفاده برای تولید پاسخ. مقادیر مجاز: mistralai/Mistral-7B-Instruct-v0.1, mistralai/Mistral-7B-Instruct-v0.2, mistralai/Mistral-7B-Instruct-v0.3 مقادیر مجاز (کلیک برای کپی): |
messages | arrayRequired | لیستی از پیامها که مکالمه را تا به اینجا تشکیل میدهند. بسته به مدلی که استفاده میکنید، انواع مختلف پیام (modalities) مانند متن، اسناد (txt, pdf)، تصاویر و صدا پشتیبانی میشوند. |
max_tokens | number | حداکثر تعداد توکنهایی که میتوانند در تکمیل چت تولید شوند. این مقدار میتواند برای کنترل هزینههای متن تولید شده از طریق API استفاده شود. |
stream | boolean | اگر روی True تنظیم شود، دادههای پاسخ مدل به صورت جریانی (stream) و با استفاده از رویدادهای ارسال شده توسط سرور (server-sent events) به کلاینت ارسال میشوند. |
stream_options | object | تنظیمات مربوط به استریم کردن پاسخ. |
response_format | object | شیئی که فرمت خروجی مدل را مشخص میکند. |
echo | boolean | اگر True باشد، پاسخ شامل prompt خواهد بود. میتواند با logprobs برای برگرداندن logprobs مربوط به prompt استفاده شود. |
temperature | number | دمای نمونهبرداری (sampling temperature) برای استفاده. مقادیر بالاتر مانند 0.8 خروجی را تصادفیتر میکنند، در حالی که مقادیر پایینتر مانند 0.2 آن را متمرکزتر و قطعیتر میکنند. به طور کلی توصیه میکنیم این پارامتر یا top_p را تغییر دهید، اما نه هر دو را. |
top_p | number | جایگزینی برای نمونهبرداری با دما، به نام نمونهبرداری هستهای (nucleus sampling)، که در آن مدل نتایج توکنها را با جرم احتمال top_p در نظر میگیرد. بنابراین 0.1 به این معنی است که فقط توکنهایی که 10٪ جرم احتمال برتر را تشکیل میدهند در نظر گرفته میشوند. به طور کلی توصیه میکنیم این پارامتر یا temperature را تغییر دهید، اما نه هر دو را. |
n | integer | تعداد انتخابهای تکمیل چت (chat completion choices) که برای هر پیام ورودی تولید میشوند. توجه داشته باشید که هزینه شما بر اساس تعداد توکنهای تولید شده در تمام انتخابها محاسبه میشود. مقدار n را 1 نگه دارید تا هزینهها را به حداقل برسانید. |
stop | any | حداکثر 4 دنباله (sequence) که API تولید توکنهای بیشتر را متوقف میکند. متن برگشتی شامل دنباله توقف نخواهد بود. |
logprobs | boolean | اینکه آیا احتمالات لگاریتمی (log probabilities) توکنهای خروجی برگردانده شوند یا خیر. اگر True باشد، احتمالات لگاریتمی هر توکن خروجی که در محتوای پیام برگردانده شده است را برمیگرداند. |
top_logprobs | number | یک عدد صحیح بین 0 و 20 که تعداد محتملترین توکنها را برای بازگشت در هر موقعیت توکن مشخص میکند، که هر کدام دارای یک احتمال لگاریتمی مرتبط هستند. اگر این پارامتر استفاده شود، logprobs باید روی True تنظیم شود. |
logit_bias | object | احتمال ظاهر شدن توکنهای مشخص شده در تکمیل را تغییر میدهد. یک شیء JSON را میپذیرد که توکنها (مشخص شده توسط شناسه توکن آنها در tokenizer) را به یک مقدار بایاس (bias) مرتبط از -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 گزینه برتر برای هر توکن بعدی نمونهبرداری کنید. برای حذف پاسخهای با احتمال پایین "long tail" استفاده میشود. فقط برای موارد استفاده پیشرفته توصیه میشود. معمولاً فقط باید از temperature استفاده کنید. |
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":"mistralai/Mistral-7B-Instruct-v0.3",
"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
}
}
}