Source: https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/
Canonical: https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/
Language: he

# Mistral: Mistral Small 3

[Markdown](https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/index.md) · [JSON](https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/facts.json)

## [Mistral: Mistral Small 3](https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/)

Mistral Small 3 Instruct 2501 הוא מודל טקסט בעל 24 מיליארד פרמטרים להוראות בשיחה, לחילוץ מובנה וליישומים בסיוע כלים. הוא מספק הקשר של 32k לפי היצרן, תשובות רב־לשוניות, תמיכה בהנחיית מערכת, JSON וקריאה מובנית לפונקציות בגרסה נפרדת המבוססת על טקסט בלבד.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/mistralai-mistral-small-24b-instruct-2501/#method-1)

על המודל

התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.

Mistral Small 3 Instruct 2501 הוא הגרסה בעלת 24 מיליארד הפרמטרים של Mistral Small 3 שהותאמה להוראות. הוא עבר כוונון עדין מתוך מודל Small 24B Base 2501 הנקוב בשם נפרד. היצרן מייעד אותו לסיוע בשיחה בעל תגובה מהירה, לקריאה לפונקציות ולהתאמה לתחום מסוים, עם טקסט הן כקלט והן כתוצאה הנוצרת.

יכולות ליבה והבחנה באימון

כרטיס המודל מתעד תמיכה רב־לשונית, יכולות שיחה והסקה, קריאה מובנית לפונקציות, פלט JSON והיצמדות להנחיות מערכת. חלון ההקשר שלו הוא 32k, והוא משתמש במחלק אסימונים Tekken עם אוצר מילים המסומן 131k. תווית ההקשר נוגעת לטקסט הנשמר למשימה, ואילו תווית אוצר המילים מתארת את חלוקת האסימונים; אלה מפרטים שונים.

היצרן מציין שפות ובהן אנגלית, צרפתית, גרמנית, ספרדית, איטלקית, סינית, יפנית, קוריאנית, פורטוגזית, הולנדית ופולנית, כאשר רוסית מופיעה גם במטא־נתוני השפות של הכרטיס שפורסם. הגדירו את שפת היעד ואת המינוח שצריך להישאר ללא שינוי. הסבר מתורגם יכול לשמר מזהים, שמות ויחידות תוך התאמת הטקסט הסובב לקורא.

הכרזת הגרסה מציינת ש־Small 3 אינה מאומנת בלמידת חיזוק או בנתונים סינתטיים ומבחינה בין נקודות ביקורת שאומנו מראש לכאלה שהותאמו להוראות. היא מתארת את המודל כבסיס שניתן להתאים עוד, ולא כנקודת ביקורת היברידית עם בקרות ההסקה של Small 4 המאוחרת יותר. רשומה זו היא מהדורת Instruct 2501 לביצוע משימת שיחה.

משימות שיחה ומשימות מובנות

לעוזר בסגנון תמיכה, ספקו את שאלת המשתמש, את חומר העזר הרלוונטי ואת כללי התשובה. בקשו את הפעולה העונה על השאלה ואת התנאי שבו היא חלה. פלט מעשי יכול להפריד בין תשובה תמציתית לשדות שחולצו והיישום זקוק להם לשלב הבא, במקום לערבב אותם בהסבר לא מובנה.

לסיווג, ספקו את התוויות המותרות ואת ההבחנות ביניהן. לחילוץ, ציינו את השדות, הסוגים הצפויים והייצוג של מידע חסר. רשומה עשויה להכיל את קטגוריית הבעיה, מזהה שהועתק מההודעה וסיכום קצר של הפעולה המבוקשת. JSON מארגן את התוצאה, אך תכנון השדות וכללי הפרשנות נשארים חלק מהמשימה שסופקה.

להסבר קוד, כללו את הפונקציה, הצהרות רלוונטיות וקלט מוחשי. שאלו איזה מסלול בקוד קובע את התוצאה. להסבר מתמטי, הגדירו משתנים והנחות וזהו את הביטוי או הטענה שיש לבסס. משימות טקסט אלה יכולות להחזיר שיטה, הסבר ותוצר סופי בלי להניח שהמודל עצמו מריץ את הקוד או חישוב חיצוני.

הוראות מערכת והגדרות מומלצות

הכרטיס ממליץ על הנחיית מערכת המותאמת לעוזר המיועד ועל טמפרטורה נמוכה יחסית, כגון 0.15. השתמשו בהוראת המערכת להגדרת התפקיד, הסגנון וכללי התשובה, בעוד שהודעת המשתמש נושאת את הבעיה בפועל או את חומר המקור. שמרו הוראות מצוטטות בתוך מסמך בנפרד מהוראת היישום לגבי הפעולה שיש לבצע במסמך הזה.

לעוזר יומיומי, ציינו אם התוצאה צריכה להיות תשובה קצרה, רשומה מובנית או הסבר ארוך יותר. אם התשובה תנותח באופן תכנותי, בקשו את הרשומה בנפרד מטקסט אופציונלי. בתהליך מסמכים חוזר, שמרו את מזהה המקור לצד כל תוצאה כדי שהיישום יוכל להחזיר למשתמש את החומר הנכון.

קריאה לפונקציות והתמחות

המודל יכול לבחור פונקציה שתוארה ולהפיק את הארגומנטים שלה. היישום מבצע את הפעולה ומחזיר את התוצאה עם הקריאה המתאימה לכלי, ולאחר מכן התשובה הבאה יכולה להשתמש במידע הזה. דוגמת הכרטיס מציגה שיחה עם שימוש קודם בכלים ולאחריו שאלה חדשה. כך יש לעוזר דרך לבקש מידע מכלים מחוברים בלי להתייחס לקריאה מוצעת כאל חיפוש שהושלם.

תארו בבירור את המטרה של כל פונקציה ואת הערכים הנדרשים. משימת חיפוש יכולה לציין את המידע הדרוש ולהחזיר לשיחה את תוצאת הכלי בפועל; פונקציה לעיבוד טקסט יכולה לספק קטע שעבר שינוי לתשובה הבאה. שמרו על קבוצת כלים הקשורה לתהליך הנוכחי ועל הקישור בין הפעולה המוצעת לתוצאתה.

היצרן מתאר גם כוונון עדין להתמחות בנושא מסוים. התהליך הזה משנה מודל לתחום מוגדר; לעומת זאת, אספקת מסמך בשיחה אחת היא התניה במקור עבור אותה משימה. ספקו את חומר התחום ואת דרישות התשובה הדרושים לעוזר המסוים במקום להניח שכבר בוצעה התאמה אישית.

הקשר ומגבלות מהותיות

Small 3 2501 הוא מודל המבוסס על טקסט בלבד עם הקשר של 32k. יכולת הראייה וההקשר של 128k שהוצגו ב־Small 3.1 שייכים לגרסה המאוחרת יותר, וגם את המצבים ההיברידיים של Small 4 אין להעביר לכאן. יש להכין את התוכן הרלוונטי של תמונה, הקלטת שמע או וידאו באמצעות רכיב אחר לפני משימת הטקסט הזאת.

הגדרות היצירה של 256 ו־512 אסימונים בכרטיס הן דוגמאות שימוש, ולא קיבולות פלט מרביות נפרדות. השאירו את זהות Instruct 2501 המדויקת, את מחלק האסימונים ואת התוצאה המבוקשת מפורשים. התוצר הסופי השימושי הוא התשובה, רשומת ה־JSON או הקוד המוצע שמשמעותם והפורמט שלהם תואמים למשימה הכתובה המקורית.

משימה מעשית

### משימה מעשית

דוגמה טכנית באנגלית

```
Prepare a reference-grounded support answer

Answer this customer question using only the reference: 'Can I change the pickup location after the parcel is handed to the carrier?' Reference: 'Before handover, support may change the pickup location. After handover, the recipient must request a change from the carrier; availability depends on its route.' Return a concise reply and the condition supporting it.
```

#### התוצאה הצפויה

```
A short customer reply plus the reference condition that determines the next contact.
```

#### בדיקת התוצאה

```
The reply directs the handed-over parcel's request to the carrier and does not promise that a change is available.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-24b-instruct-2501`

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

Mistral /`mistralai/mistral-small-24b-instruct-2501`

### התחלה

Mistral Small 3 Instruct 2501 הוא מודל טקסט בעל 24 מיליארד פרמטרים להוראות בשיחה, לחילוץ מובנה וליישומים בסיוע כלים. הוא מספק הקשר של 32k לפי היצרן, תשובות רב־לשוניות, תמיכה בהנחיית מערכת, JSON וקריאה מובנית לפונקציות בגרסה נפרדת המבוססת על טקסט בלבד.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

סוגי קלט

`text`

סוגי פלט

`text`

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות mistralai/mistral-small-24b-instruct-2501 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: ⁦1⁩ | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
| שדה`messages[].content` | סוג`string\|content_part[]\|null` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_calls` | סוג`tool_call[]` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].tool_call_id` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
| שדה`messages[].name` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].reasoning_content` | סוג`string` | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
| שדה`messages[].reasoning_details` | סוג`object\|array` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`max_completion_tokens` | סוג`integer` | דרישהרשות | ערכים ומגבלות מינימום: ⁦1⁩ תלוי במודל | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
| שדה`stream_options.include_usage` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`temperature` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`top_p` | סוג`number` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`stop` | סוג`string\|string[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools` | סוג`function_tool[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`tools[].type` | סוג`string` | דרישהרשות | ערכים ומגבלות function תלוי במודל | ברירת מחדל— |
| שדה`tools[].function.name` | סוג`string` | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
| שדה`tools[].function.description` | סוג`string` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tools[].function.parameters` | סוג`JSON_schema` | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
| שדה`tool_choice` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`parallel_tool_calls` | סוג`boolean` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`response_format` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning_effort` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`reasoning` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`service_tier` | סוג`string` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`instructions` | סוג`string` | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
| שדה`functions` | סוג`function[]` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`function_call` | סוג`string\|object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`prompt_cache_options` | סוג`object` | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
| שדה`modalities` | סוג`string[]` | דרישהרשות | ערכים ומגבלות text | ברירת מחדל— |
| שדה`provider` | סוג`object` | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה במסלול הטקסט הזה של Ultra | ברירת מחדל— |
| שדה`cache_control.ttl` | סוג`string` | דרישהרשות | ערכים ומגבלות תנאים: 1h נדחה במיקומים המשמשים בפועל למטמון הנחיות | ברירת מחדל— |

שילובים של חומרי קלט

**טקסט** · טקסט UTF8

`messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages |
| פרמטר`material_types` | מפרטtext |
| פרמטר`messages` | מפרטמערך הודעות במבנה role/content |
| פרמטר`file_material` | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
| פרמטר`optional_controls` | מפרטstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| פרמטר`control_scope` | מפרטייחודי למודל; כלי פונקציות של המשתמש שונים מכלים מתארחים |
| פרמטר`output_modalities` | מפרטtext |
| פרמטר`hosted_operations` | מפרטfalse |
| פרמטר`multimodal_input_binding` | מפרטnull |

מחזור חיים: `synchronous_or_streamed`

שלחו את מזהה המודל המדויק עם messages.

אורך ההקשר אינו תקרת פלט.

קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.0001** / 1K טוקנים פלט · טוקני פלט **$0.00016** / 1K טוקנים קלט · קריאה מהמטמון **—** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.0001** / 1K טוקנים פלט · טוקני פלט **$0.00016** / 1K טוקנים קלט · קריאה מהמטמון **—** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · OpenAI Chat

curlPython SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/mistral-small-24b-instruct-2501", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='mistralai/mistral-small-24b-instruct-2501',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='mistralai/mistral-small-24b-instruct-2501',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · OpenAI Chat

json או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`choices[].index` | סוגinteger |
| שדה`choices[].message.content` | סוגstring\|null |
| שדה`choices[].message.tool_calls` | סוגtool\_call\[\] |
| שדה`choices[].message.reasoning_content` | סוגstring |
| שדה`choices[].message.reasoning_details` | סוגobject\|array |
| שדה`choices[].finish_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

#### כינויים למודל

**Ailoot Ultra** [`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-24b-instruct-2501`

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

Mistral /`mistralai/mistral-small-24b-instruct-2501`

### התחלה

Mistral Small 3 Instruct 2501 הוא מודל טקסט בעל 24 מיליארד פרמטרים להוראות בשיחה, לחילוץ מובנה וליישומים בסיוע כלים. הוא מספק הקשר של 32k לפי היצרן, תשובות רב־לשוניות, תמיכה בהנחיית מערכת, JSON וקריאה מובנית לפונקציות בגרסה נפרדת המבוססת על טקסט בלבד.

סוגי קלט נתמכים

טקסט

תוצאות

json · sse

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

סוגי קלט

`text`

סוגי פלט

`json`, `sse`

פורמט פלט

JSON או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות mistralai/mistral-small-24b-instruct-2501 | ברירת מחדל— |
| שדה`messages` | סוג`message[]` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`messages[].role` | סוג`string` | דרישהחובה | ערכים ומגבלות user, assistant | ברירת מחדל— |
| שדה`messages[].content` | סוג`string` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`max_tokens` | סוג`integer` | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
| שדה`stream` | סוג`boolean` | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |

שילובים של חומרי קלט

**טקסט** · טקסט UTF-8

`מחרוזת messages[].content`

פרמטרים ומחזור חיים של השיטה

| פרמטר | מפרט |
| --- | --- |
| פרמטר`content_type` | מפרטapplication/json |
| פרמטר`required` | מפרטmodel, messages, max\_tokens |
| פרמטר`optional_controls` | מפרטstream |
| פרמטר`material_types` | מפרטtext |
| פרמטר`text_file_material` | מפרטקראו את מסמך UTF-8 בפועל והכניסו את הטקסט שלו לקלט שצוין או למחרוזת תוכן ההודעה. |

מחזור חיים: `synchronous_or_streamed`

### תעריפים

מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.

מצב מהיר

תעריף רגיל כאשר נבחר מצב מהיר

מצב Flex

תעריף רגיל כאשר נבחר מצב flex

מאמץ חשיבה מרבי

תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)

#### תעריפי Ailoot

#### מחירים לפי תצורה

התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.

| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
| --- | --- | --- | --- | --- |
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.0001** / 1K טוקנים פלט · טוקני פלט **$0.00016** / 1K טוקנים קלט · קריאה מהמטמון **—** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-⁦0⁩ | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט **$0.0001** / 1K טוקנים פלט · טוקני פלט **$0.00016** / 1K טוקנים קלט · קריאה מהמטמון **—** / 1K טוקנים קלט · כתיבה למטמון **—** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · Anthropic Messages

גוף JSON מינימלי ושלםcurl · השתמשו במסמך UTF-8 שלכםPython · שמרו את התוצאה המלאה

```json
{
  "model": "mistralai/mistral-small-24b-instruct-2501",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-small-24b-instruct-2501', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'mistralai/mistral-small-24b-instruct-2501', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### קבלה ושמירה של תוצאות

#### Ailoot Ultra · Anthropic Messages

JSON או SSE

##### שמירת כל התוצאות שהושלמו

שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.

שמרו את כל בלוקי התוכן, חתימות החשיבה ומזהי השימוש בכלים בפועל. הרכיבו את כל עדכוני הבלוקים של SSE; בלוק הטקסט הראשון אינו הפלט המלא.

##### כשצריך לבדוק את התגובה המקורית

שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.

שדות התגובה

| שדה | סוג |
| --- | --- |
| שדה`id` | סוגstring |
| שדה`model` | סוגstring |
| שדה`content[]` | סוגtext\|thinking\|tool\_use\|other content block |
| שדה`stop_reason` | סוגstring\|null |
| שדה`usage` | סוגobject |

שגיאות והשלבים הבאים

| תגובה | תנאי | השלב הבא |
| --- | --- | --- |
| תגובה⁦400⁩ · `invalid_request_error` | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |

### כינויים

#### כינויים למודל

**Ailoot Ultra** [`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`mistralai/mistral-small-24b-instruct-2501`](https://ailoot.ai/models/he/#m=mistralai%2Fmistral-small-24b-instruct-2501&route=Ultra&caller=mistralai%2Fmistral-small-24b-instruct-2501&fmt=messages)

FAQ · Mistral: Mistral Small 3

אילו קלטים ותוצאות זמינים?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `text` → `text` `POST /v1/messages` · `mistralai/mistral-small-24b-instruct-2501`: `text` → `json`, `sse`

באילו שדות הבקשה משתמשת?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mistral-small-24b-instruct-2501`: `model`, `messages`, `max_tokens`, `stream`

אילו מגבלות חלות?

`POST /v1/chat/completions` · `mistralai/mistral-small-24b-instruct-2501`: `messages.min_items`: `1`

חברו Ailoot ל- Claude Code, OpenCode, Hermes או ליישום שלכם.

## החברה ופורטפוליו הפרויקטים שלה

החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.

## קנו אסימונים בהנחה.

הנחת מנוי לעבודה קבועה. קודי הנחה עד 50% על רכישת אסימונים.

מנוי

בחרו מסלול עם הנחה לבקשות הקבועות שלכם.

קוד הנחה עד 50%

הזינו קוד ברכישה. המחיר יחושב מחדש לפי המבצע הפעיל.

הוצאות בהיסטוריה

המודל, האסימונים והסכום נשמרים לכל בקשה.

[בחירת מנוי](https://ailoot.ai/docs/he/billing/subscriptions/) · [מחירי מודלים](https://ailoot.ai/models/he/)

## חברו API למוצר שאתם מוכרים.

SaaS, יישומים ובוטים לפי ההצעה והסכם הרישוי של Ailoot. למכירה מחדש בקשו רישיון משווק.

יישום מסחרי

שלבו יצירת טקסט, תמונות, וידאו ושמע בתכונות בתשלום של השירות שלכם.

רישיון למכירה מחדש

שלחו תיאור פרויקט ואופן מתן גישה. בקשו תנאי שימוש ומכירה מחדש בכתב.

מסמכים באתר

ההצעה, הסכם הרישוי ומדיניות עיבוד הנתונים זמינים לפני החיבור.

[בקשת רישיון למכירה מחדש](mailto:support@ailoot.ai) · [ההצעה והסכם הרישוי](https://ailoot.ai/legal/offer?lang=he)

## Ailoot · החברה ופורטפוליו הפרויקטים שלה





Ailoot נשענת על ניסיון תפעולי מצטבר, בסיס לקוחות רחב, שירות יציב ובקרה שוטפת של KPI.





החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.





Ailoot משתמשת בניסיון התפעולי הזה כדי לספק גישת API ליכולות AI במוצרי לקוחות, בסוכנים, באפליקציות ובאוטומציות.
