VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 הוא מודל הטמעת קוד לאיתור קוד מקור רלוונטי מתוך שאלות, תיאורי תקלות ומטרות של סוכני תכנות. הוא תומך בקלטים באורך 32,000 טוקנים וב־256, 512, 1024 או 2048 ממדים, עם ייצוגים בנקודה צפה וייצוגים מכומתים.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
voyage-code-4 הוא מודל ההטמעה של Voyage AI המתמחה בקוד, לחיפוש במאגרי קוד ולאחזור עבור סוכני תכנות. הוא נועד לסייע באיתור קוד מקור רלוונטי כאשר נקודת המוצא היא שאלה, תסמין או תיאור משימה, ולא מזהה ידוע. הוא מייצג קוד ומידע טקסטואלי כווקטורים מספריים לאחזור; הוא אינו עורך את המאגר או יוצר תיקון.
אחזרו קוד מתוך התקלה הנחקרת
היצרן מתאר קורפוס אימון שנבחר מתוך בקשות משיכה שהושלמו, ומקשר בין שאילתות בשפה טבעית לקוד. זהו הבדל משמעותי לעומת דוגמאות אימון המבוססות בעיקר על קובצי מקור ועל מחרוזות התיעוד שלהם: משימת האחזור יכולה להתחיל בהתנהגות שצריך לחקור.
הכינו שאילתה כגון ״מצאו היכן תוצאה ריקה גורמת לפעולה מוצלחת להיות מדווחת ככישלון״. אנדקסו קטעי מקור קריאים עם נתיבי הקבצים שלהם והערות רלוונטיות. שמרו את התנאים שסביב הפונקציה כאשר הם מסבירים את התנהגותה. מועמד שהוחזר צריך להוביל את הקורא או הסוכן בחזרה לקטע המקור שהוא מייצג.
אחזור סמנטי יכול להשלים חיפוש מדויק לפי מזהה וחיפוש בטקסט מלא. אם שם הפונקציה כבר ידוע, חיפוש מדויק עדיין מועיל. אם ידוע רק התסמין, חיפוש וקטורי יכול לספק מועמדים לבדיקה ולמיקוד באמצעות שאילתה נוספת.
תפקידי שאילתה ומסמך
הנחיות האחזור של Voyage מבחינות בין השאילתה למסמך הקורפוס באמצעות סוגי הקלט query/document. בחיפוש קוד, השתמשו בתיאור התקלה או המשימה כשאילתה ובקוד המקור או התיעוד המאונדקס כמסמך. התהליך המפורסם מוסיף הוראות אחזור ייעודיות לתפקיד במהלך ההטמעה.
שמרו מחוץ לווקטור את העיצוב המקורי של הקוד, את השמות ואת התיעוד הרלוונטי. בקטע מקור, שמרו את נתיב הקובץ והמיקום; במדריך תכנות, שמרו את הכותרת. לאחר האחזור, בדקו את הקוד עצמו ואת הקוד שקורא לו לפני בחירת עריכה. הרלוונטיות של מועמד אינה מוכיחה שהוא הגורם היחיד לבעיה שדווחה.
אפשרויות הקשר וייצוג
אורך ההקשר המפורסם של המודל המדויק הוא 32,000 טוקנים. להטמעת ברירת המחדל שלו 1024 ממדים, והוא תומך גם ב־256, 512 ו־2048 ממדים באמצעות למידת Matryoshka. ההכרזה מתעדת ייצוגי נקודה צפה ב־32 סיביות, מספרים שלמים ב־8 סיביות עם סימן וללא סימן וייצוגים בינאריים.
בחרו מספר ממדים וייצוג אחד לאוסף, ושמרו אותם עם המטא־נתונים שלו. וקטורי נקודה צפה וייצוגים מכומתים דורשים טיפול מתאים באחסון ובהשוואה. ייצוג בינארי מקודד מידע וקטורי אחרת מרשימת קואורדינטות רגילות בנקודה צפה; שמרו על ההבחנה בעת הכנת התוצאות לחיפוש.
בקובץ ארוך, בחרו קטעים לכידים שאפשר לחזור למיקומם במקור. פונקציה עשויה להזדקק להגדרת טיפוס סמוכה או להערה כדי להסביר תנאי, ואילו קובץ גדול מדי בשלמותו עשוי להכיל חומר לא קשור. התאימו את הקטע למשימה שלפיה יחפשו, במקום להתייחס להקשר המרבי כאל גודל מקטע מועדף.
השתמשו בקוד המקור שאוחזר כראיה
תהליך עבודה מעשי של סוכן תכנות מאחזר קטעי מקור מועמדים, קורא את הקבצים, עוקב אחר הפניות רלוונטיות ומצמצם את החיפוש ככל שהחקירה מתקדמת. הטקסט שאוחזר הופך להקשר של שלב החשיבה או העריכה. שמרו את הקישור שלו לגרסת מאגר הקוד שאונדקסה, כדי לבדוק מועמד מול המקור הנכון.
התרומה הייחודית למהדורת voyage-code-4 היא ההתמקדות בשלב האחזור מהתקלה לקוד שבו משתמשים סוכני תכנות, לצד גמישות בממדים ובייצוגים. הפלט שלה הוא וקטור אחזור, ואילו אבחון, עריכה ואימות נשארים משימות נפרדות המבוססות על המאגר בפועל.
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4התחלה
Voyage AI voyage-code-4 הוא מודל הטמעת קוד לאיתור קוד מקור רלוונטי מתוך שאלות, תיאורי תקלות ומטרות של סוכני תכנות. הוא תומך בקלטים באורך 32,000 טוקנים וב־256, 512, 1024 או 2048 ממדים, עם ייצוגים בנקודה צפה וייצוגים מכומתים.
- סוגי קלט נתמכים
- טקסט · token_ids
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings
- סוגי קלט
text,token_ids- סוגי פלט
embedding- הקשר
- 32,000 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות voyageai/voyage-code-4 | ברירת מחדל— |
שדהinput | סוגstring|string[]|integer[]|integer[][] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים. תקציב קלט: מקסימום: 32,000 · יחידת טקסט: בתים בקידוד 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 | מפרט32000 |
פרמטרmultimodal_objects | מפרטfalse |
פרמטרmaterial_types | מפרטtext, token_ids |
מחזור חיים: synchronous_json
שמרו כל אינדקס וקטור וממד.
שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- תעריף רגיל כאשר נבחר מצב מהיר
- מצב Flex
- תעריף רגיל כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.00024 / 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": "voyageai/voyage-code-4", "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='voyageai/voyage-code-4',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 voyageai/voyage-code-4
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · VoyageAI by MongoDB: voyage-code-4
- אילו קלטים ותוצאות זמינים?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- באילו שדות הבקשה משתמשת?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- אילו מגבלות חלות?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(בתים בקידוד UTF8);input.min_items:1