Mistral: Mistral Small 4 (batch)
Mistral Small 4 הוא מודל היברידי לטקסט ולתמונות בעל יכולות הוראות, הסקה ותכנות. גרסת תערובת המומחים שלו, בעלת 119 מיליארד פרמטרים, מפעילה 6.5 מיליארד פרמטרים לכל אסימון ותומכת בהקשר של 256k לפי היצרן, במאמץ הסקה לבחירה, ב־JSON ובקריאות לפונקציות.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Mistral Small 4 משלב היצמדות כללית להוראות, הסקה ותכנות במודל רב־מודאלי יחיד. היצרן מתאר אותו כמאחד את משפחות Instruct, ההסקה Magistral והתכנות Devstral. הוא מקבל טקסט ותמונות ומחזיר טקסט, כאשר קריאות לפונקציות ופלט JSON זמינים ליישומים בסיוע כלים.
ארכיטקטורה ויכולות מרכזיות
לגרסה יש 119 מיליארד פרמטרים בסך הכול והיא מפעילה 6.5 מיליארד לכל אסימון. ארכיטקטורת תערובת המומחים שלה מכילה 128 מומחים, מהם 4 פעילים, והיצרן מתעד חלון הקשר של 256k. מספר הפרמטרים הפעילים ומספר המומחים מתארים כיצד המודל מאורגן; הם נבדלים מכמות תוכן הטקסט או התמונות הכלולה במשימה אחת.
המודל מספק יכולות הוראות והסקה באותה נקודת ביקורת. היצרן מציין גם ראייה, היצמדות להנחיות מערכת ותמיכה רב־לשונית בעשרות שפות, ובהן אנגלית, צרפתית, ספרדית, גרמנית, איטלקית, פורטוגזית, הולנדית, סינית, יפנית, קוריאנית וערבית. לכן הוראת טקסט יכולה לשאול על תמונה או לשלב דרישה כתובה עם ראיות גלויות, כאשר התשובה מוחזרת כטקסט.
משימה חזותית יכולה לספק עמוד מסמך ולבקש את הערכים הרלוונטיים לתנאי ששמו צוין. הקפידו שהתוויות והיחידות יהיו קריאות וציינו אם התוצאה צריכה לשמר את הניסוח המקורי, לסכם אותו או להשוות אותו למקור אחר. משימת ממשק יכולה לצרף צילום מסך למטרת המשתמש ולבקש את הפקד הגלוי הרלוונטי ואת הראיות התומכות בצעד הבא המוצע.
בחירת מצב הוראות או הסקה
הכרטיס שפורסם מתעד מאמץ הסקה none לתשובה מיידית בסגנון הוראות ו־high להסקה, כאשר high מומלץ להנחיות מורכבות. הבחירה נעשית לכל בקשה בתוך אותו מודל Small 4. לסיווג רגיל או לשכתוב קצר יכול להיות חוזה תשובה שונה מזה של בעיה מתמטית, חזותית או תכנותית הדורשת הסבר מפותח.
היצרן ממליץ על temperature של 0.7 למאמץ הסקה high. עבור none, הוא מציין ערכי temperature שבין 0.0 ל־0.7 לפי המשימה. ההגדרות האלה מתארות את המצבים המתועדים ואינן הופכות את מאמץ ההסקה להבטחה לתוצאה נכונה. הגדירו את ההנחות, את צורת הפלט ואת חומר המקור הרלוונטי לפני בחירת היקף ההסקה שהמשימה דורשת.
לבעיה פתורה, ספקו את התנאי המלא ובקשו את השלבים המנומקים החשובים ולאחריהם את הביטוי הסופי. למשימת קוד, ספקו את הדרישה, את הפונקציה המושפעת וקלט מוחשי; בקשו את המימוש המוצע בנפרד מההסבר ומהדוגמאות. הדגמות השימוש של היצרן כוללות היצמדות להוראות, כלי חישוב המופעל על תמונה והסקה חזותית, וממחישות כיצד טקסט וראיות חזותיות יכולים להיכלל במשימות השונות האלה.
תכנות, מסמכים וכלים
המודל מיועד לחקירת בסיסי קוד ולסוכני הנדסת תוכנה, לעוזרים כלליים, להבנת מסמכים ולמחקר. בקשה מסוכן תכנות יכולה לציין את המודול שיש לשנות, את הממשק שיש לשמר ואת ההתנהגות שאמורה להתקבל. ספקו את המקור ואת ראיות הכשל הרלוונטיים. המודל יכול להציע את הפעולה הבאה או שינוי קוד, והיישום מספק גישה למאגר הקוד, ביצוע ומשוב.
לחילוץ מסמך, זהו את השדות הדרושים ואת אופן ייצוג המידע החסר. רשומה שימושית יכולה להפריד בין מזהה המסמך, האמירה במקור, הדרישה כפי שפורשה והשאלה שטרם נפתרה. כרטיס השירות של היצרן מציין פלט מובנה מותאם אישית ומענה לשאלות על מסמכים; האחרון משתמש בעיבוד מסמכים וב־OCR להכנת טקסט ומבנה לפני ניתוח מודל שפה. שאלה ישירה על תמונה ותהליך מסמכים בסיוע OCR צריכים לשמור על הכנת קלט משלהם.
קריאה לפונקציות דורשת כלים המתוארים בבירור. המודל בוחר פונקציה ויוצר ארגומנטים; היישום מבצע את הפעולה ומחזיר את תוצאתה לתשובה שלאחר מכן. אותו היגיון חל בין שהמשימה היא חיפוש, חישוב או פעולת תכנות. עיצוב JSON מארגן תשובה, ואילו קריאה לכלי מבקשת פעולה חיצונית; אין להתייחס לשניים כתוצאות הניתנות להחלפה.
כרטיס השירות מציין גם פלטים חזויים, קידומות תשובה, עיבוד באצוות ושיחות סוכנים. פלטים חזויים שימושיים כאשר יש ליצור מחדש מסמך או קובץ קוד עם שינוי מוגבל בלבד ושאר התוכן ידוע. ציינו את העריכה ואת החומר שיש לשמר. המשך מקידומת משתמש בהתחלה ידועה של התשובה, ואילו עיבוד באצוות נוגע להגשת עבודה, ולא למצב הסקה נוסף.
גבולות ההקשר והמהדורה
תכננו את המשימה הכתובה, את החומר החזותי, את השיחה ואת התשובה הרצויה סביב ההקשר המתועד של 256k. דוגמת השימוש שפורסמה מגדירה הקשר של 262,144 אסימונים, ואילו דוגמת היצירה של 1,024 אסימונים אינה קיבולת פלט מרבית נפרדת. המקורות שנקראו אינם מספקים מגבלה קשיחה עצמאית לאורך תשובה שניתן להציב במקום אורך המשימה שנבחר.
ל־Small 4 יש ארכיטקטורת תערובת מומחים משלה, בעלת 119 מיליארד פרמטרים, ומצבים היברידיים משלה. היא אינה צריכה לרשת את הארכיטקטורה הצפופה בעלת 128 מיליארד הפרמטרים של Medium 3.5 או את מהדורות Instruct ו־Reasoning הנפרדות של Ministral 3. היצרן מפרסם גם תוצרי פריסה נפרדים של קוונטיזציה ופענוח ספקולטיבי; אלה תוצרי פריסה נפרדים, ולא מודאליות תוכן שונות. שמרו את גרסת Small 4 הנקובה בשם ואת המצב שהתבקש עבור תוצאת ההסבר, הרשומה המובנית או הקוד בפועל.
Ailoot Ultra · Batch POST /v1/batches mistralai/mistral-small-2603:batch
mistralai/mistral-small-2603:batch
mistralai/mistral-small-2603:batchהתחלה
Mistral Small 4 הוא מודל היברידי לטקסט ולתמונות בעל יכולות הוראות, הסקה ותכנות. גרסת תערובת המומחים שלו, בעלת 119 מיליארד פרמטרים, מפעילה 6.5 מיליארד פרמטרים לכל אסימון ותומכת בהקשר של 256k לפי היצרן, במאמץ הסקה לבחירה, ב־JSON ובקריאות לפונקציות.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- טקסט
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · Batch POST /v1/batches
- סוגי קלט
text- סוגי פלט
text- פורמט פלט
- JSON מוטמע מתוך results[].response.body
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהendpoint | סוגstring | דרישהחובה | ערכים ומגבלות /v1/chat/completions | ברירת מחדל— |
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות mistralai/mistral-small-2603:batch | ברירת מחדל— |
שדהrequests | סוגbatch_item[] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 | ברירת מחדל— |
שדהrequests[].custom_id | סוגstring | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהrequests[].body.messages | סוגmessage[] | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהcompletion_window | סוגstring | דרישהרשות | ערכים ומגבלות 24h | ברירת מחדל— |
שדהprovider | סוגobject|null | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהrequests[].body.model | סוגstring | דרישהרשות | ערכים ומגבלות mistralai/mistral-small-2603:batch, mistralai/mistral-small-2603 | ברירת מחדל— |
שדהprovider.only | סוגstring[] | דרישהרשות | ערכים ומגבלות mistral | ברירת מחדל— |
שדהprovider.allow_fallbacks | סוגboolean|null | דרישהרשות | ערכים ומגבלות false, null | ברירת מחדל— |
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטendpoint, model, requests |
פרמטרmaterial_types | מפרטtext |
פרמטרrepresentation | מפרטrequests[] מוטמעים; לכל פריט יש custom_id ו־body |
פרמטרrequest_endpoint_profile | מפרט/v1/chat/completions |
פרמטרfile_material | מפרטהגורם הקורא רשאי לקרוא מקומית תוכן JSONL אמיתי בקידוד UTF-8 לתוך requests[]. לא נעשה שימוש בשדה purpose להעלאה, ב־input_file_id או בהפניה לקובץ. חומר לקוח חסר או ריק עוצר את ההכנה לפני POST. |
פרמטרserialization_order | מפרטendpoint, model, provider (אם צוין), completion_window (אם צוין), requests בסוף |
פרמטרoptional_controls | מפרטprovider.only, provider.allow_fallbacks, completion_window |
פרמטרschema_scope | מפרטגופי בקשות טקסט של Chat Completions במעטפת Batch המוטמעת המתועדת. |
מחזור חיים: asynchronous
GET /v1/batches/{operation_id} · ערך response.id מבקשת היצירה המקורית שהוחזר בפועל; אותם משתמש/מפתח/קבוצה
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
- תמחור מטמון מפורש
- לא מופעל כאשר מתבקש מטמון מפורש
תעריפי Ailoot
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
|---|---|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00015 / 1K טוקנים פלט · טוקני פלט $0.0006 / 1K טוקנים קלט · קריאה מהמטמון $0.000015 / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-0 | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00015 / 1K טוקנים פלט · טוקני פלט $0.0006 / 1K טוקנים קלט · קריאה מהמטמון $0.000015 / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · Batch
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/mistral-small-2603:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['mistralai/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-small-2603:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
קבלה ושמירה של תוצאות
Ailoot Ultra · Batch
JSON מוטמע מתוך results[].response.body
GET /v1/batches/{operation_id}
בדיקת מצב המשימה
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו את JSON הסטטוס המקורי במלואו, כל תוצאה/custom_id ואת גוף התשובה או השגיאה המלא. שמרו את results[] שהושלמו כ־JSONL ללא סינון.
כשצריך לבדוק את התגובה המקורית
שמרו את מזהה הפעולה המקורי. לתשובת 503 result_pending_check יש X-Should-Retry:false; לעולם אל תשלחו מחדש אצווה מקורית שתוצאתה אינה ידועה.
שדות התגובה
| שדה | סוג |
|---|---|
שדהresults[].custom_id | סוגstring |
שדהresults[].response.body.choices[].message.content | סוגstring|null |
שדהresults[].error | סוגobject|null |
שדהusage | סוגobject|null |
שדהid | סוגstring |
שדהmodel | סוגstring |
שדהendpoint | סוגstring |
שדהstatus | סוגstring |
שדהrequest_counts | סוגobject |
שדהresults[].id | סוגstring |
שדהresults[].response.status_code | סוגinteger |
שדהresults[].response.request_id | סוגstring |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאימעטפת מוטמעת מתועדת לא תקינה, מפתחות כפולים, זהות פריט לא תקינה או סתירה ביכולות המודל שהוגדרו. | השלב הבאתקנו את השדות שצוינו לפני כל שליחה חדשה. |
תגובה401 · authentication_error | תנאימפתח API לא תקין. | השלב הבאהשתמשו במפתח Ailoot המורשה. |
תגובה403 · permission_error | תנאיקבוצת Batch אינה זמינה. | השלב הבאבדקו את הרשאות המפתח/הקבוצה. |
תגובה422 · invalid_request_error | תנאיBatch מחויב מהיתרה; יצירה בחיוב מנוי נדחית. | השלב הבאהשתמשו בקבוצה המורשית שהחיוב שלה מנוכה מהיתרה. |
תגובה422 · price_unavailable | תנאילא ניתן לחשב הצעת מחיר לקלט Batch. | השלב הבאשמרו את התשובה; השתמשו בקלט המתועד למשפחת ה־API. |
תגובה402 · billing_error | תנאיהסכום לשריון עבור Batch אינו זמין. | השלב הבאפתרו את הבעיה המונעת את קבלת הבקשה לפני שליחת בקשה חדשה. |
תגובה503 · price_unavailable | תנאיהמחיר לשיטת Batch או התעריפים המקוריים אינם זמינים. | השלב הבאשמרו את התשובה; אל תחליפו את המחירים. |
תגובה503 · api_error | תנאינתיב הספק המדויק אינו זמין. | השלב הבאשמרו את התשובה לצורך תיקון נתיב הניתוב. |
תגובה503 · result_pending_check | תנאיהתוצאה המקורית דורשת בדיקה; X-Should-Retry:false. | השלב הבאשמרו את operation_id/id המקורי וקראו את הסטטוס שלו; לעולם אל תחזרו על ה־POST המקורי. |
תגובה404 · not_found | תנאיהפעולה לבדיקת סטטוס Batch אינה קיימת או שייכת לזהות אחרת. | השלב הבאהשתמשו בערך id המקורי המדויק ובאותם משתמש/מפתח/קבוצה. |
כינויים
כינויים למודל
Ailoot Ultra mistralai/mistral-small-2603:batch
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · Mistral: Mistral Small 4 (batch)
- אילו קלטים ותוצאות זמינים?
POST /v1/batches·mistralai/mistral-small-2603:batch:text→text- באילו שדות הבקשה משתמשת?
POST /v1/batches·mistralai/mistral-small-2603:batch:endpoint,model,requests,completion_window,provider- אילו מגבלות חלות?
POST /v1/batches·mistralai/mistral-small-2603:batch:requests.min_items:1