{
  "aboutHtml": "<p>voyage-4 הוא מודל הטמעת הטקסט הבינוני של Voyage AI במשפחת Voyage 4. הוא ממיר טקסט של שאילתות ומסמכים לווקטורים מספריים לאחזור כללי ורב־לשוני. היכולת המגדירה את המשפחה היא מרחב הטמעה משותף: voyage-4, voyage-4-large, voyage-4-lite ו־voyage-4-nano מייצרים ייצוגים תואמים, ומאפשרים לצד השאילתה ולצד המסמך במשימת חיפוש להשתמש במודלים שונים מאותה משפחה.</p><h4>מרחב משותף ואחזור אסימטרי</h4><p>היצרן מכנה שימוש במודלים שונים לשאילתות ולקורפוס אחזור אסימטרי. דפוס מתועד אחד הוא להכין את הקורפוס עם voyage-4-large ולחפש בו באמצעות הטמעות שאילתה של voyage-4. את הקורפוס מטמיעים פעם אחת או כאשר חומר המקור שלו משתנה, ואילו וקטורי השאילתות נוצרים כשהחיפושים מגיעים. המרחב המשותף מאפשר לשנות את בחירת המודל בצד השאילתה בתוך המשפחה, בלי להטמיע את הקורפוס מחדש רק בגלל ההחלפה הזו.</p><p>שמרו על תאימות במספר ממדי הפלט ובייצוג בין הווקטורים המושווים. ההצהרה על מרחב משותף מתייחסת למודלי הטקסט הנקובים בשם במשפחת Voyage 4; היא אינה מוכחת רק מכך ששני מודלים לא קשורים מחזירים מערכים באותו אורך. לכן במשימה מעשית אפשר להשתמש ב־voyage-4 בשני צדי החיפוש, או להשתמש בווקטורי השאילתה שלו עם אינדקס מסמכים קיים של voyage-4-large כאשר הגדרות הייצוג שלהם תואמות.</p><h4>תפקידי שאילתה ומסמך</h4><p>לאחזור, Voyage ממליצה לזהות את טקסט הקלט כשאילתה או כמסמך. אפשרות תפקיד הקלט מספקת את הוראת האחזור המתאימה לפני ההמרה לווקטור. הכינו את קטעי הקורפוס כמסמכים ואת ניסוח החיפוש של המשתמש כשאילתה, ושמרו את טקסט המקור בפועל ואת המזהים לצד כל וקטור מאוחסן.</p><p>למשל, אוסף לחיפוש ידע יכול לאנדקס הוראות טכניות והסברים על מוצרים. שאילתה על מה שקורה לאחר ייבוא שנכשל צריכה להחזיר את קטע המקור המתאר את ההתנהגות הזו. שמרו כותרות, תנאים רלוונטיים ומיקום במקור עם הקטע, כדי שאפשר יהיה לבדוק את תוצאת החיפוש או להשתמש בה בשלב מאוחר יותר של כתיבת תשובת RAG. ההטמעה היא הייצוג המספרי לאחזור; הקטע המקורי הוא הראיה המשמשת באותו שלב מאוחר יותר.</p><h4>ממדים וסוגי נתוני הפלט</h4><p>חלון ההקשר המתועד לכל טקסט הוא 32,000 טוקנים. אפשר לבחור 256, 512, 1024 או 2048 ממדים, כאשר ברירת המחדל היא 1024. למידת Matryoshka מספקת את גדלי הייצוג המקוננים האלה. הפלט יכול להשתמש בנקודה צפה ב־32 סיביות, במספרים שלמים ב־8 סיביות עם סימן או ללא סימן, או בערכים בינאריים ארוזים, בזכות ההכנה המודעת לכימות של המשפחה.</p><p>בפלט בינארי ארוז, כל בייט שמוחזר מאחסן שמונה סיביות הטמעה, ולכן אורך רשימת הבייטים הוא שמינית ממספר הממדים שנבחר. למספר הבייטים ולמספר ממדי ההטמעה יש משמעויות שונות. בחרו בייצוג שאינדקס החיפוש שלכם יכול לפרש, ובדקו את רלוונטיות המועמדים על השאלות והשפות שבהן האוסף משתמש בפועל לפני בחירת תצורה דחוסה.</p><h4>אורך הקלט, אצוות וקיטוע</h4><p>מדריך הטמעת הטקסט הנוכחי של היצרן מאפשר עד 1,000 מחרוזות ו־320,000 טוקנים בסך הכול בבקשת voyage-4. מכסת האצווה נפרדת מחלון 32,000 הטוקנים לכל קלט. קיטוע מופעל כברירת מחדל: טקסט ארוך מדי מקוצר כדי שיתאים. אם הקיטוע כבוי, פריט ארוך מדי גורם לשגיאה במקום זאת.</p><p>בדוח ארוך או בתמליל ארוך, הכינו במכוון קטעים המכילים את המידע הנדרש לתשובה, במקום להסתמך על חיתוך בגבול הקלט. שמרו כל קטע מקושר למסמך האב ולגרסת המקור שלו. קלטי הטמעה רגילים של voyage-4 הם טקסטים נפרדים; עיבוד קבוצות מקטעים בהתחשב בהקשר שייך למודלי ההטמעה ההקשריים המתועדים בנפרד.</p><h4>השתמשו בתוצאת האחזור</h4><p>שמרו את הווקטורים עם טקסט הקטעים ומזהי מקור יציבים, השוו כל וקטור שאילתה לווקטורי המסמכים התואמים והחזירו קטעים מועמדים. פרסום המשפחה מעריך אחזור על חומר הכולל מסמכים טכניים, שיחות, מסמכים ארוכים, קוד, משפט, פיננסים וטקסט מהרשת. מדרג מחדש נפרד יכול לחדד את המועמדים, ושלב תשובה מאוחר יותר יכול להשתמש בטקסט שלהם. העריכו את הקטעים שהוחזרו בהתאם למשימה; תאימות המרחב המשותף מאפשרת את שילוב המודלים, ואילו שימושיות התוצאה עדיין תלויה בחומר המקור ובשאלה.</p>",
  "aboutText": "voyage-4 הוא מודל הטמעת הטקסט הבינוני של Voyage AI במשפחת Voyage 4. הוא ממיר טקסט של שאילתות ומסמכים לווקטורים מספריים לאחזור כללי ורב־לשוני. היכולת המגדירה את המשפחה היא מרחב הטמעה משותף: voyage-4, voyage-4-large, voyage-4-lite ו־voyage-4-nano מייצרים ייצוגים תואמים, ומאפשרים לצד השאילתה ולצד המסמך במשימת חיפוש להשתמש במודלים שונים מאותה משפחה.\n\n### מרחב משותף ואחזור אסימטרי\n\nהיצרן מכנה שימוש במודלים שונים לשאילתות ולקורפוס אחזור אסימטרי. דפוס מתועד אחד הוא להכין את הקורפוס עם voyage-4-large ולחפש בו באמצעות הטמעות שאילתה של voyage-4. את הקורפוס מטמיעים פעם אחת או כאשר חומר המקור שלו משתנה, ואילו וקטורי השאילתות נוצרים כשהחיפושים מגיעים. המרחב המשותף מאפשר לשנות את בחירת המודל בצד השאילתה בתוך המשפחה, בלי להטמיע את הקורפוס מחדש רק בגלל ההחלפה הזו.\n\nשמרו על תאימות במספר ממדי הפלט ובייצוג בין הווקטורים המושווים. ההצהרה על מרחב משותף מתייחסת למודלי הטקסט הנקובים בשם במשפחת Voyage 4; היא אינה מוכחת רק מכך ששני מודלים לא קשורים מחזירים מערכים באותו אורך. לכן במשימה מעשית אפשר להשתמש ב־voyage-4 בשני צדי החיפוש, או להשתמש בווקטורי השאילתה שלו עם אינדקס מסמכים קיים של voyage-4-large כאשר הגדרות הייצוג שלהם תואמות.\n\n### תפקידי שאילתה ומסמך\n\nלאחזור, Voyage ממליצה לזהות את טקסט הקלט כשאילתה או כמסמך. אפשרות תפקיד הקלט מספקת את הוראת האחזור המתאימה לפני ההמרה לווקטור. הכינו את קטעי הקורפוס כמסמכים ואת ניסוח החיפוש של המשתמש כשאילתה, ושמרו את טקסט המקור בפועל ואת המזהים לצד כל וקטור מאוחסן.\n\nלמשל, אוסף לחיפוש ידע יכול לאנדקס הוראות טכניות והסברים על מוצרים. שאילתה על מה שקורה לאחר ייבוא שנכשל צריכה להחזיר את קטע המקור המתאר את ההתנהגות הזו. שמרו כותרות, תנאים רלוונטיים ומיקום במקור עם הקטע, כדי שאפשר יהיה לבדוק את תוצאת החיפוש או להשתמש בה בשלב מאוחר יותר של כתיבת תשובת RAG. ההטמעה היא הייצוג המספרי לאחזור; הקטע המקורי הוא הראיה המשמשת באותו שלב מאוחר יותר.\n\n### ממדים וסוגי נתוני הפלט\n\nחלון ההקשר המתועד לכל טקסט הוא 32,000 טוקנים. אפשר לבחור 256, 512, 1024 או 2048 ממדים, כאשר ברירת המחדל היא 1024. למידת Matryoshka מספקת את גדלי הייצוג המקוננים האלה. הפלט יכול להשתמש בנקודה צפה ב־32 סיביות, במספרים שלמים ב־8 סיביות עם סימן או ללא סימן, או בערכים בינאריים ארוזים, בזכות ההכנה המודעת לכימות של המשפחה.\n\nבפלט בינארי ארוז, כל בייט שמוחזר מאחסן שמונה סיביות הטמעה, ולכן אורך רשימת הבייטים הוא שמינית ממספר הממדים שנבחר. למספר הבייטים ולמספר ממדי ההטמעה יש משמעויות שונות. בחרו בייצוג שאינדקס החיפוש שלכם יכול לפרש, ובדקו את רלוונטיות המועמדים על השאלות והשפות שבהן האוסף משתמש בפועל לפני בחירת תצורה דחוסה.\n\n### אורך הקלט, אצוות וקיטוע\n\nמדריך הטמעת הטקסט הנוכחי של היצרן מאפשר עד 1,000 מחרוזות ו־320,000 טוקנים בסך הכול בבקשת voyage-4. מכסת האצווה נפרדת מחלון 32,000 הטוקנים לכל קלט. קיטוע מופעל כברירת מחדל: טקסט ארוך מדי מקוצר כדי שיתאים. אם הקיטוע כבוי, פריט ארוך מדי גורם לשגיאה במקום זאת.\n\nבדוח ארוך או בתמליל ארוך, הכינו במכוון קטעים המכילים את המידע הנדרש לתשובה, במקום להסתמך על חיתוך בגבול הקלט. שמרו כל קטע מקושר למסמך האב ולגרסת המקור שלו. קלטי הטמעה רגילים של voyage-4 הם טקסטים נפרדים; עיבוד קבוצות מקטעים בהתחשב בהקשר שייך למודלי ההטמעה ההקשריים המתועדים בנפרד.\n\n### השתמשו בתוצאת האחזור\n\nשמרו את הווקטורים עם טקסט הקטעים ומזהי מקור יציבים, השוו כל וקטור שאילתה לווקטורי המסמכים התואמים והחזירו קטעים מועמדים. פרסום המשפחה מעריך אחזור על חומר הכולל מסמכים טכניים, שיחות, מסמכים ארוכים, קוד, משפט, פיננסים וטקסט מהרשת. מדרג מחדש נפרד יכול לחדד את המועמדים, ושלב תשובה מאוחר יותר יכול להשתמש בטקסט שלהם. העריכו את הקטעים שהוחזרו בהתאם למשימה; תאימות המרחב המשותף מאפשרת את שילוב המודלים, ואילו שימושיות התוצאה עדיין תלויה בחומר המקור ובשאלה.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "663e6666006b56a6bde7d97c1c0eb3172dfa73a706a8a8bfa9d862840f95097b",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "he",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">VoyageAI by MongoDB: voyage-4</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/voyage-4</code><button type=\"button\" id=\"copy-id\">העתקת ID</button></div><nav class=\"card-jump-nav\" aria-label=\"חלקי כרטיס המודל\"><button type=\"button\" data-card-jump=\"overview\">התחלה</button><button type=\"button\" data-card-jump=\"methods\">קלט ושיטות</button><button type=\"button\" data-card-jump=\"pricing\">תעריפים</button><button type=\"button\" data-card-jump=\"examples\">דוגמאות</button><button type=\"button\" data-card-jump=\"results\">תוצאות</button><button type=\"button\" data-card-jump=\"aliases\">כינויים</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"שיטות API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|voyageai%2Fvoyage-4\">ייצוגים וקטוריים</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">voyage-4 מטמיע טקסט לאחזור כללי ורב־לשוני, עם מרחב וקטורי משותף למשפחת Voyage 4. הוא תומך בקלטים באורך 32,000 טוקנים, בפלטים עם מספר ממדים לבחירה בין 256 ל־2048 ובתפקידי query/document לחיפוש ול־RAG.</p><dl class=\"card-io\" data-card-io><div><dt>סוגי קלט נתמכים</dt><dd>טקסט · token_ids</dd></div><div><dt>תוצאות</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>על המודל</summary><p class=\"note-s\" data-model-method-boundary>התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.</p><div class=\"mabout\" id=\"m-about\"><p>voyage-4 הוא מודל הטמעת הטקסט הבינוני של Voyage AI במשפחת Voyage 4. הוא ממיר טקסט של שאילתות ומסמכים לווקטורים מספריים לאחזור כללי ורב־לשוני. היכולת המגדירה את המשפחה היא מרחב הטמעה משותף: voyage-4, voyage-4-large, voyage-4-lite ו־voyage-4-nano מייצרים ייצוגים תואמים, ומאפשרים לצד השאילתה ולצד המסמך במשימת חיפוש להשתמש במודלים שונים מאותה משפחה.</p><h4>מרחב משותף ואחזור אסימטרי</h4><p>היצרן מכנה שימוש במודלים שונים לשאילתות ולקורפוס אחזור אסימטרי. דפוס מתועד אחד הוא להכין את הקורפוס עם voyage-4-large ולחפש בו באמצעות הטמעות שאילתה של voyage-4. את הקורפוס מטמיעים פעם אחת או כאשר חומר המקור שלו משתנה, ואילו וקטורי השאילתות נוצרים כשהחיפושים מגיעים. המרחב המשותף מאפשר לשנות את בחירת המודל בצד השאילתה בתוך המשפחה, בלי להטמיע את הקורפוס מחדש רק בגלל ההחלפה הזו.</p><p>שמרו על תאימות במספר ממדי הפלט ובייצוג בין הווקטורים המושווים. ההצהרה על מרחב משותף מתייחסת למודלי הטקסט הנקובים בשם במשפחת Voyage 4; היא אינה מוכחת רק מכך ששני מודלים לא קשורים מחזירים מערכים באותו אורך. לכן במשימה מעשית אפשר להשתמש ב־voyage-4 בשני צדי החיפוש, או להשתמש בווקטורי השאילתה שלו עם אינדקס מסמכים קיים של voyage-4-large כאשר הגדרות הייצוג שלהם תואמות.</p><h4>תפקידי שאילתה ומסמך</h4><p>לאחזור, Voyage ממליצה לזהות את טקסט הקלט כשאילתה או כמסמך. אפשרות תפקיד הקלט מספקת את הוראת האחזור המתאימה לפני ההמרה לווקטור. הכינו את קטעי הקורפוס כמסמכים ואת ניסוח החיפוש של המשתמש כשאילתה, ושמרו את טקסט המקור בפועל ואת המזהים לצד כל וקטור מאוחסן.</p><p>למשל, אוסף לחיפוש ידע יכול לאנדקס הוראות טכניות והסברים על מוצרים. שאילתה על מה שקורה לאחר ייבוא שנכשל צריכה להחזיר את קטע המקור המתאר את ההתנהגות הזו. שמרו כותרות, תנאים רלוונטיים ומיקום במקור עם הקטע, כדי שאפשר יהיה לבדוק את תוצאת החיפוש או להשתמש בה בשלב מאוחר יותר של כתיבת תשובת RAG. ההטמעה היא הייצוג המספרי לאחזור; הקטע המקורי הוא הראיה המשמשת באותו שלב מאוחר יותר.</p><h4>ממדים וסוגי נתוני הפלט</h4><p>חלון ההקשר המתועד לכל טקסט הוא 32,000 טוקנים. אפשר לבחור 256, 512, 1024 או 2048 ממדים, כאשר ברירת המחדל היא 1024. למידת Matryoshka מספקת את גדלי הייצוג המקוננים האלה. הפלט יכול להשתמש בנקודה צפה ב־32 סיביות, במספרים שלמים ב־8 סיביות עם סימן או ללא סימן, או בערכים בינאריים ארוזים, בזכות ההכנה המודעת לכימות של המשפחה.</p><p>בפלט בינארי ארוז, כל בייט שמוחזר מאחסן שמונה סיביות הטמעה, ולכן אורך רשימת הבייטים הוא שמינית ממספר הממדים שנבחר. למספר הבייטים ולמספר ממדי ההטמעה יש משמעויות שונות. בחרו בייצוג שאינדקס החיפוש שלכם יכול לפרש, ובדקו את רלוונטיות המועמדים על השאלות והשפות שבהן האוסף משתמש בפועל לפני בחירת תצורה דחוסה.</p><h4>אורך הקלט, אצוות וקיטוע</h4><p>מדריך הטמעת הטקסט הנוכחי של היצרן מאפשר עד 1,000 מחרוזות ו־320,000 טוקנים בסך הכול בבקשת voyage-4. מכסת האצווה נפרדת מחלון 32,000 הטוקנים לכל קלט. קיטוע מופעל כברירת מחדל: טקסט ארוך מדי מקוצר כדי שיתאים. אם הקיטוע כבוי, פריט ארוך מדי גורם לשגיאה במקום זאת.</p><p>בדוח ארוך או בתמליל ארוך, הכינו במכוון קטעים המכילים את המידע הנדרש לתשובה, במקום להסתמך על חיתוך בגבול הקלט. שמרו כל קטע מקושר למסמך האב ולגרסת המקור שלו. קלטי הטמעה רגילים של voyage-4 הם טקסטים נפרדים; עיבוד קבוצות מקטעים בהתחשב בהקשר שייך למודלי ההטמעה ההקשריים המתועדים בנפרד.</p><h4>השתמשו בתוצאת האחזור</h4><p>שמרו את הווקטורים עם טקסט הקטעים ומזהי מקור יציבים, השוו כל וקטור שאילתה לווקטורי המסמכים התואמים והחזירו קטעים מועמדים. פרסום המשפחה מעריך אחזור על חומר הכולל מסמכים טכניים, שיחות, מסמכים ארוכים, קוד, משפט, פיננסים וטקסט מהרשת. מדרג מחדש נפרד יכול לחדד את המועמדים, ושלב תשובה מאוחר יותר יכול להשתמש בטקסט שלהם. העריכו את הקטעים שהוחזרו בהתאם למשימה; תאימות המרחב המשותף מאפשרת את שילוב המודלים, ואילו שימושיות התוצאה עדיין תלויה בחומר המקור ובשאלה.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · ייצוגים וקטוריים</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>סוגי פלט</dt><dd><code>embedding</code></dd></div><div><dt>הקשר</dt><dd>⁦32,000⁩ tokens</dd></div><div><dt>פורמט פלט</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>שדה</th><th>סוג</th><th>דרישה</th><th>ערכים ומגבלות</th><th>ברירת מחדל</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>voyageai/voyage-4</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מספר פריטים מזערי: ⁦1⁩</div><div>תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.</div><div>תקציב קלט: מקסימום: ⁦32,000⁩ · יחידת טקסט: בתים בקידוד UTF8 · יחידת טוקנים: רכיבים במערך טוקנים</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>float</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>integer</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>לא נתמך</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מינימום: ⁦1⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>json_value</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>object</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: provider.options נדחה</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, input</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>input_shapes</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>encoding_format</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>float</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>dimensions_override</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>max_input_budget_units</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>32000</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>multimodal_objects</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text, token_ids</td></tr></tbody></table></div><p>מחזור חיים: <code>synchronous_json</code></p><p class=\"note-s\">שמרו כל אינדקס וקטור וממד.</p><p class=\"note-s\">שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב Flex</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר נבחר מצב flex</span></dd><dt>מאמץ חשיבה מרבי</dt><dd>תעריף רגיל <span class=\"note-s\">כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>תעריפי Ailoot</h4><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>טבלת תעריפים</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>תעריפי הבסיס לטוקנים</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>תעריף בסיס</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · טוקני קלט</span> <b>$0.00012</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>פלט · טוקני פלט</span> <b>$0</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · קריאה מהמטמון</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון, 1 שעה</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. <a href=\"/docs/he/billing/reserve/\">איך פועלים שריון הסכום והסדרת החיוב →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">דוגמאות לבקשות</h3><h4>Ailoot Ultra · ייצוגים וקטוריים</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-2701-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2701-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-2701-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2701-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2701-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2701-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;voyageai/voyage-4&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2701-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2701-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;voyageai/voyage-4&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · ייצוגים וקטוריים</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.</p><p class=\"note-s\">שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">לא מתווספת נקודת קצה למשימות הטמעה.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>finite float[]</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>תקנו את השדות שצוינו לפני בקשת יצירה חדשה.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyageai%2Fvoyage-4&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4&amp;fmt=embeddings\"><code>voyageai/voyage-4</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=voyageai%2Fvoyage-4&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4&amp;fmt=embeddings\"><code>voyageai/voyage-4</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyageai/voyage-4",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyageai%2Fvoyage-4",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "לא מתווספת נקודת קצה למשימות הטמעה."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "בתים בקידוד UTF8",
                  "token_unit": "רכיבים במערך טוקנים"
                },
                "conditions": "אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options נדחה",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "שמרו כל אינדקס וקטור וממד.",
            "שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.12,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "מצב מהיר",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב מהיר"
          },
          {
            "label": "מצב Flex",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב flex"
          },
          {
            "label": "מאמץ חשיבה מרבי",
            "value": "תעריף רגיל",
            "when": "כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyageai/voyage-4",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "75177164e74219e92756de6ea6c228852b61229f4c5a989601db0059bb71c87f",
    "input_html_sha256": "cc32be45f174261111e2a2ac959e02483d92c1488321d9302c11072009e8aa78",
    "private_audit_sha256": "1b1c3057a17df0093d61dce455937851efd48c3957512628b81f375eda00b3f3",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/voyageai-voyage-4/",
    "description": "voyage-4 מטמיע טקסט לאחזור כללי ורב־לשוני, עם מרחב וקטורי משותף למשפחת Voyage 4. הוא תומך בקלטים באורך 32,000 טוקנים, בפלטים עם מספר ממדים לבחירה בין 256 ל־2048 ובתפקידי query/document לחיפוש ול־RAG.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/voyageai-voyage-4/index.md",
    "title": "VoyageAI by MongoDB: voyage-4 — Ailoot",
    "url": "https://ailoot.ai/models/he/voyageai-voyage-4/"
  },
  "rawModel": {
    "about": "voyage-4 הוא מודל הטמעת הטקסט הבינוני של Voyage AI במשפחת Voyage 4. הוא ממיר טקסט של שאילתות ומסמכים לווקטורים מספריים לאחזור כללי ורב־לשוני. היכולת המגדירה את המשפחה היא מרחב הטמעה משותף: voyage-4, voyage-4-large, voyage-4-lite ו־voyage-4-nano מייצרים ייצוגים תואמים, ומאפשרים לצד השאילתה ולצד המסמך במשימת חיפוש להשתמש במודלים שונים מאותה משפחה.\n\n### מרחב משותף ואחזור אסימטרי\n\nהיצרן מכנה שימוש במודלים שונים לשאילתות ולקורפוס אחזור אסימטרי. דפוס מתועד אחד הוא להכין את הקורפוס עם voyage-4-large ולחפש בו באמצעות הטמעות שאילתה של voyage-4. את הקורפוס מטמיעים פעם אחת או כאשר חומר המקור שלו משתנה, ואילו וקטורי השאילתות נוצרים כשהחיפושים מגיעים. המרחב המשותף מאפשר לשנות את בחירת המודל בצד השאילתה בתוך המשפחה, בלי להטמיע את הקורפוס מחדש רק בגלל ההחלפה הזו.\n\nשמרו על תאימות במספר ממדי הפלט ובייצוג בין הווקטורים המושווים. ההצהרה על מרחב משותף מתייחסת למודלי הטקסט הנקובים בשם במשפחת Voyage 4; היא אינה מוכחת רק מכך ששני מודלים לא קשורים מחזירים מערכים באותו אורך. לכן במשימה מעשית אפשר להשתמש ב־voyage-4 בשני צדי החיפוש, או להשתמש בווקטורי השאילתה שלו עם אינדקס מסמכים קיים של voyage-4-large כאשר הגדרות הייצוג שלהם תואמות.\n\n### תפקידי שאילתה ומסמך\n\nלאחזור, Voyage ממליצה לזהות את טקסט הקלט כשאילתה או כמסמך. אפשרות תפקיד הקלט מספקת את הוראת האחזור המתאימה לפני ההמרה לווקטור. הכינו את קטעי הקורפוס כמסמכים ואת ניסוח החיפוש של המשתמש כשאילתה, ושמרו את טקסט המקור בפועל ואת המזהים לצד כל וקטור מאוחסן.\n\nלמשל, אוסף לחיפוש ידע יכול לאנדקס הוראות טכניות והסברים על מוצרים. שאילתה על מה שקורה לאחר ייבוא שנכשל צריכה להחזיר את קטע המקור המתאר את ההתנהגות הזו. שמרו כותרות, תנאים רלוונטיים ומיקום במקור עם הקטע, כדי שאפשר יהיה לבדוק את תוצאת החיפוש או להשתמש בה בשלב מאוחר יותר של כתיבת תשובת RAG. ההטמעה היא הייצוג המספרי לאחזור; הקטע המקורי הוא הראיה המשמשת באותו שלב מאוחר יותר.\n\n### ממדים וסוגי נתוני הפלט\n\nחלון ההקשר המתועד לכל טקסט הוא 32,000 טוקנים. אפשר לבחור 256, 512, 1024 או 2048 ממדים, כאשר ברירת המחדל היא 1024. למידת Matryoshka מספקת את גדלי הייצוג המקוננים האלה. הפלט יכול להשתמש בנקודה צפה ב־32 סיביות, במספרים שלמים ב־8 סיביות עם סימן או ללא סימן, או בערכים בינאריים ארוזים, בזכות ההכנה המודעת לכימות של המשפחה.\n\nבפלט בינארי ארוז, כל בייט שמוחזר מאחסן שמונה סיביות הטמעה, ולכן אורך רשימת הבייטים הוא שמינית ממספר הממדים שנבחר. למספר הבייטים ולמספר ממדי ההטמעה יש משמעויות שונות. בחרו בייצוג שאינדקס החיפוש שלכם יכול לפרש, ובדקו את רלוונטיות המועמדים על השאלות והשפות שבהן האוסף משתמש בפועל לפני בחירת תצורה דחוסה.\n\n### אורך הקלט, אצוות וקיטוע\n\nמדריך הטמעת הטקסט הנוכחי של היצרן מאפשר עד 1,000 מחרוזות ו־320,000 טוקנים בסך הכול בבקשת voyage-4. מכסת האצווה נפרדת מחלון 32,000 הטוקנים לכל קלט. קיטוע מופעל כברירת מחדל: טקסט ארוך מדי מקוצר כדי שיתאים. אם הקיטוע כבוי, פריט ארוך מדי גורם לשגיאה במקום זאת.\n\nבדוח ארוך או בתמליל ארוך, הכינו במכוון קטעים המכילים את המידע הנדרש לתשובה, במקום להסתמך על חיתוך בגבול הקלט. שמרו כל קטע מקושר למסמך האב ולגרסת המקור שלו. קלטי הטמעה רגילים של voyage-4 הם טקסטים נפרדים; עיבוד קבוצות מקטעים בהתחשב בהקשר שייך למודלי ההטמעה ההקשריים המתועדים בנפרד.\n\n### השתמשו בתוצאת האחזור\n\nשמרו את הווקטורים עם טקסט הקטעים ומזהי מקור יציבים, השוו כל וקטור שאילתה לווקטורי המסמכים התואמים והחזירו קטעים מועמדים. פרסום המשפחה מעריך אחזור על חומר הכולל מסמכים טכניים, שיחות, מסמכים ארוכים, קוד, משפט, פיננסים וטקסט מהרשת. מדרג מחדש נפרד יכול לחדד את המועמדים, ושלב תשובה מאוחר יותר יכול להשתמש בטקסט שלהם. העריכו את הקטעים שהוחזרו בהתאם למשימה; תאימות המרחב המשותף מאפשרת את שילוב המודלים, ואילו שימושיות התוצאה עדיין תלויה בחומר המקור ובשאלה.",
    "alias_of": null,
    "aliases": [],
    "author": "VoyageAI by MongoDB",
    "available": null,
    "canonical_model": "voyageai/voyage-4",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": 32000,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "voyageai/voyage-4",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "לא מתווספת נקודת קצה למשימות הטמעה."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "שמרו כל וקטור עם האינדקס שלו. מספר הווקטורים חייב להיות שווה למספר פריטי הקלט; מספר הממדים חייב להיות עקבי.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "בתים בקידוד UTF8",
                  "token_unit": "רכיבים במערך טוקנים"
                },
                "conditions": "אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options נדחה",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "שמרו כל אינדקס וקטור וממד.",
            "שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "תעריפי הבסיס לטוקנים",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.12,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "מצב מהיר",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב מהיר"
          },
          {
            "label": "מצב Flex",
            "value": "תעריף רגיל",
            "when": "כאשר נבחר מצב flex"
          },
          {
            "label": "מאמץ חשיבה מרבי",
            "value": "תעריף רגיל",
            "when": "כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000012",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyageai/voyage-4",
        "request_model_id": "voyageai/voyage-4",
        "route_label": "Ultra"
      }
    ],
    "name": "VoyageAI by MongoDB: voyage-4",
    "price": {
      "in": 0.12,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.12,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.00012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000012",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "voyageai/voyage-4",
    "short": "voyage-4 מטמיע טקסט לאחזור כללי ורב־לשוני, עם מרחב וקטורי משותף למשפחת Voyage 4. הוא תומך בקלטים באורך 32,000 טוקנים, בפלטים עם מספר ממדים לבחירה בין 256 ל־2048 ובתפקידי query/document לחיפוש ול־RAG."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "voyage-4 מטמיע טקסט לאחזור כללי ורב־לשוני, עם מרחב וקטורי משותף למשפחת Voyage 4. הוא תומך בקלטים באורך 32,000 טוקנים, בפלטים עם מספר ממדים לבחירה בין 256 ל־2048 ובתפקידי query/document לחיפוש ול־RAG.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f7d1f7dabc82898f5096eaae74bd1ebb9a8cc3cde6fc8454e584f53cea216350",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "22154ffab9cdf3b159c66a46898a658a6e320a7cd22a575c8178a2b25fa7308b"
}
