Mistral: Codestral Embed 2505
Codestral Embed 2505 מייצג קוד ושאילתות בשפה טבעית כווקטורים לחיפוש במאגרים ולאחזור עבור עוזרי קוד. היצרן מתעד הקשר של 8,192 טוקנים, ממדים הניתנים להגדרה עד 3,072 ופורמטי פלט של נקודה צפה, מספרים שלמים או אריזה ברמת הביט.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Codestral Embed 2505 הוא מודל ההטמעות של Mistral AI המתמחה באחזור קוד. הוא מקבל טקסט המכיל קוד מקור או שאילתת קוד בשפה טבעית ומחזיר וקטורים מספריים. היצרן מציב אותו לחיפוש במאגרים, לאחזור הקשר לעוזרי קוד, לניתוח דמיון וכפילויות ולקיבוץ קוד לפי הפונקציונליות או המבנה שלו. מזהה המהדורה הקבוע שלו הוא codestral-embed-2505.
קלט וייצוג
קלט קוד יכול להיות פונקציה, קטע מקור קשור או יחידה אחרת בעלת משמעות במאגר. שאילתה בשפה טבעית יכולה לתאר את ההתנהגות שיש לאתר במקום לנקוב בשם הסמל המדויק. ההטמעה מייצגת את הקלט הזה להשוואה; המודל אינו יוצר מימוש חדש או מריץ את הקוד שהוא מקבל.
המהדורה הרשמית מתעדת הקשר קלט מלא של 8,192 טוקנים. לאחזור, היצרן ממליץ על מקטעים בני כ־3,000 תווים עם חפיפה של 1,000 תווים ומציין שמקטעים גדולים יותר עלולים לפגוע באחזור. אלה המלצות להכנת אחזור, ולא מגבלת טוקנים של 3,000 תווים. שמרו את הקובץ, הסמל ומיקום המקור משויכים לכל פריט שהוכן, כדי שהיישום יוכל להחזיר את הקוד הרלוונטי לאחר חיפוש.
דיוק פלט וממדים
מדריך הטמעות הקוד מתעד את סוגי הפלט float, int8, uint8, binary ו־ubinary. Float משתמש בערכי נקודה צפה בדיוק יחיד של 32 ביט. Int8 משתמש במספרים שלמים עם סימן בני 8 ביט בטווח -128 עד 127, ואילו uint8 משתמש בערכים ללא סימן בני 8 ביט בטווח 0 עד 255. Binary ו־ubinary מאחסנים ערכים מכומתים בני ביט יחיד ברכיבים ארוזים בני 8 ביט, באמצעות מכלים עם סימן או ללא סימן, בהתאמה.
ייצוג ארוז בביטים משנה את אורך הרשימה המוחזרת: המדריך מתאר רכיב ארוז אחד לכל שמונה ממדי הטמעה לוגיים. לכן השוואה המודעת לפורמט שונה מהתייחסות לבתים הארוזים כקואורדינטות נקודה צפה רגילות. שמרו את הסוג שנבחר עם הווקטור והשתמשו באותו ייצוג לקוד המאונדקס ולשאילתה שלו.
תיעוד הפרמטרים מציין ממד ברירת מחדל של 1,536 ומקסימום של 3,072. הממדים מסודרים לפי רלוונטיות, והיצרן מתאר שמירת המספר שנבחר של הממדים הראשונים כדרך לבחירת גודל הייצוג. בחרו את הממד בעקביות לאוסף המאוחסן ולשאילתות חדשות. ייצוג קצר יותר או מכומת משנה את התנהגות האחסון וההשוואה; הוא אינו מגדיל את הקשר הקלט או הופך את המודל למחולל קוד.
תכנות בסיוע אחזור
מקרה השימוש הראשון של המהדורה הוא אחזור הקשר להשלמת קוד, לעריכה או להסבר. הכינו יחידות קוד בעלות משמעות ושמרו את גרסת המאגר ואת מזהי המקור. שאלה על אופן הטיפול בשגיאה מסוימת יכולה לאחזר פונקציות קשורות, שהיישום מספק אחר כך למודל קוד עם בקשת השינוי בפועל.
תוצאה מעשית היא קבוצה מדורגת של קטעי מקור עם נתיבי קבצים, סמלים והתוכן הדרוש להבנת התנהגותם. מפתח יכול לפתוח את הקטעים שאוחזרו או להעביר אותם לעוזר. Codestral Embed מבצע את שלב הייצוג; רכיב נפרד בוחר את התוצאות, ומודל יצירה כותב את ההסבר או את הקוד המוצע.
חיפוש סמנטי ודמיון
היצרן מתאר חיפוש קוד באמצעות שאילתות בשפה טבעית או בקוד. מפתח יכול לבקש מימוש של התנהגות גם כאשר שם הפונקציה שונה מניסוח הבקשה. כללו את ההתנהגות ואת התנאים שמבדילים את המימוש המיועד; שאילתה כללית על תת־מערכת שלמה עשויה לאחזר חומר קשור בלי להכריע בשאלה המסוימת.
המהדורה מתארת גם מציאת קוד כמעט כפול או דומה בתפקודו למרות הבדלים לקסיקליים. תוצאות כאלה יכולות לעזור לאתר מימוש לשימוש חוזר או לזהות קוד הזקוק לסקירה נוספת. דמיון במרחב ההטמעות הוא אות לבדיקת המקור; הוא אינו קובע ששני קטעים מתנהגים באופן זהה לכל קלט.
קיבוץ לאשכולות, ניתוח והשוואה
אפשר להשתמש בהטמעות קוד לקיבוץ לפי פונקציונליות או מבנה ולבחינת ההרכב של מאגר. שמרו את הקטעים המקוריים ואת המזהים זמינים, כדי שאדם או שלב מאוחר יותר ביישום יוכלו לפרש קבוצה. אשכול הוא קיבוץ מבוסס ייצוג, ולא תיאור ארכיטקטורה שאומת אוטומטית.
דוגמאות הווקטורים בנקודה צפה של היצרן משתמשות בהטמעות המנורמלות לאורך יחידה, שעבורן דמיון קוסינוס, מכפלה סקלרית ומרחק אוקלידי נותנים דירוגים עקביים. פלט מכומת וארוז בביטים צריך לשמור על טיפול משלו בפורמט, במקום לרשת הנחה לגבי קואורדינטות נקודה צפה גולמיות. נקודת הקצה שפורסמה שומרת גם אינדקסי קלט, וכך עוזרת לשמר את הקשר בין כל וקטור לפריט המקור שלו.
מהדורה וגבולות מעשיים
דף המודל המדויק מציג תהליכי הטמעה ואצוות עם תווית הקשר 8k, ואילו המהדורה נותנת את הערך 8,192 טוקנים. שמרו על מהדורת 2505 הנקובה, על ממד הפלט שנבחר ועל סוגו לאורך תהליך האוסף והשאילתה. זהו פלט וקטורים המכוון לקוד, הנבדל מהשלמת הטקסט של Codestral וממודל הטמעות הטקסט Mistral Embed בעל הממדים הקבועים.
הכינו יחידות קוד שנושאות את ההתנהגות הרלוונטית, שמרו את מיקומי המקור שלהן וציינו את השאלה שיש לאתר. התוצר השימושי הוא ייצוג שניתן לאחזר הקשור לקוד בפועל, התומך בשלב ההסבר, העריכה או סקירת המפתח הבא בלי לבצע את השלב הזה בעצמו.
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505התחלה
Codestral Embed 2505 מייצג קוד ושאילתות בשפה טבעית כווקטורים לחיפוש במאגרים ולאחזור עבור עוזרי קוד. היצרן מתעד הקשר של 8,192 טוקנים, ממדים הניתנים להגדרה עד 3,072 ופורמטי פלט של נקודה צפה, מספרים שלמים או אריזה ברמת הביט.
- סוגי קלט נתמכים
- טקסט · token_ids
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings
- סוגי קלט
text,token_ids- סוגי פלט
embedding- הקשר
- 8,192 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות mistralai/codestral-embed-2505 | ברירת מחדל— |
שדהinput | סוגstring|string[]|integer[]|integer[][] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים. תקציב קלט: מקסימום: 8,192 · יחידת טקסט: בתים בקידוד UTF8 · יחידת טוקנים: רכיבים במערך טוקנים | ברירת מחדל— |
שדהencoding_format | סוגstring | דרישהרשות | ערכים ומגבלות float | ברירת מחדלfloat |
שדהdimensions | סוגinteger | דרישהלא נתמך | ערכים ומגבלות מינימום: 1 | ברירת מחדל— |
שדהuser | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהsession_id | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהtrace | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהprovider | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה | ברירת מחדל— |
שילובים של חומרי קלט
text_to_embedding
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, input |
פרמטרinput_shapes | מפרטstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
פרמטרencoding_format | מפרטfloat |
פרמטרdimensions_override | מפרטfalse |
פרמטרmax_input_budget_units | מפרט8192 |
פרמטרmultimodal_objects | מפרטfalse |
פרמטרmaterial_types | מפרטtext, token_ids |
מחזור חיים: synchronous_json
שמרו כל אינדקס וקטור וממד.
שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- תעריף רגיל כאשר נבחר מצב מהיר
- מצב Flex
- תעריף רגיל כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.0003 / 1K טוקנים פלט · טוקני פלט $0 / 1K טוקנים קלט · קריאה מהמטמון — / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · ייצוגים וקטוריים
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/codestral-embed-2505", "input": ["First document", "Second document"]}')
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/embeddings \
-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("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='mistralai/codestral-embed-2505',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
קבלה ושמירה של תוצאות
Ailoot Ultra · ייצוגים וקטוריים
json
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.
כשצריך לבדוק את התגובה המקורית
לא מתווספת נקודת קצה למשימות הטמעה.
שדות התגובה
| שדה | סוג |
|---|---|
שדהobject | סוגstring |
שדהmodel | סוגstring |
שדהdata[].index | סוגinteger |
שדהdata[].embedding | סוגfinite float[] |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra mistralai/codestral-embed-2505
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · Mistral: Codestral Embed 2505
- אילו קלטים ותוצאות זמינים?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- באילו שדות הבקשה משתמשת?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- אילו מגבלות חלות?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(בתים בקידוד UTF8);input.min_items:1