OpenAI: Text Embedding 3 Small
מודל הטמעת הטקסט הקטן מהדור השלישי של OpenAI מחזיר כברירת מחדל וקטורים בני 1536 ממדים ותומך בייצוגים קצרים יותר. השתמשו בפלט המספרי לחיפוש סמנטי, לאחזור קוד, לקיבוץ, להמלצות ולסיווג.
- Ailoot Ultra · ייצוגים וקטוריים
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · הטמעות · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
text-embedding-3-small הוא מודל הטמעת הטקסט הקטן יותר של OpenAI מהדור השלישי. הוא ממיר חומר כתוב לווקטורים מספריים עם 1536 רכיבים כברירת מחדל. הווקטורים האלה מודדים קשרים בין טקסטים עבור שלב נוסף של חיפוש או ניתוח; המודל אינו יוצר תשובה שיחתית לקלט.
כמו המודל הגדול יותר מהדור השלישי, הוא תומך בבקרת dimensions של היצרן להטמעות קצרות יותר. האימון נועד לשמר מידע המייצג מושגים בווקטור מקוצר, ובחירת הגודל משפיעה על איכות היישום ועל דרישות המשאבים שלו. שמרו על עקביות במודל ובמספר הממדים שנבחרו בין הרשומות והשאילתות המושוות.
יישום מעשי הוא חיפוש קוד. מדריך היצרן מתאר ייצוג של פונקציות מקור כטקסט והטמעתן, ולאחר מכן הטמעת שאילתה בשפה טבעית באותו מודל והשוואת הווקטורים שנוצרו. תוצאה לדוגמה היא אוסף מדורג של פונקציות רלוונטיות המקושרות למיקומן במקור. בחיפוש מסמכים, התוצר המקביל הוא אוסף קטעים שהטקסט וההפניות המקוריות שלהם נשארים זמינים לקורא או למודל הבא.
שימושים מתועדים נוספים כוללים קיבוץ לאשכולות, המלצות על תוכן קשור, סיווג, איתור חריגים ומדידת גיוון. תהליך הודעות בעל מטרה ממוקדת יכול לקבץ בקשות דומות או להשוות אותן לתיאורי קטגוריות. היישום מגדיר כיצד תוצאת דמיון הופכת לקטגוריה, להמלצה או לפריט לבדיקה; ההטמעה עצמה נשארת נתונים מספריים.
OpenAI מציינת קלט מרבי של 8192 טוקנים לכל טקסט. API ההטמעות שלה מקבל מחרוזות או קלט שכבר חולק לטוקנים וקלטים מרובים בבקשה אחת, דוחה מחרוזות ריקות ומחיל מגבלה מצטברת של 300,000 טוקנים. הכינו חומר ארוך כקטעים בעלי משמעות ושמרו את הכותרות או ההגדרות הדרושות לפירושם. השתמשו בקבוצה עקבית של שדות מקור במקום להטמיע סוגי רשומות שונים לפי כללי הכנה לא קשורים.
היצרן מחזיר כברירת מחדל וקטורי float ומתעד גם קידוד base64. המדריך מציין שהטמעות OpenAI מנורמלות לאורך יחידה וממליץ על דמיון קוסינוס; מכפלה סקלרית יכולה לחשב אותו, ומרחק אוקלידי נותן את אותו דירוג. אם הטמעה מהדור השלישי מקוצרת ידנית לאחר החזרתה, נרמלו שוב את הווקטור המקוצר כפי שהמדריך מתאר. בקרת dimensions מונעת את הצורך להפוך קיטוע ידני לשלב ההכנה הרגיל.
תעדו את זהות המודל, מספר הממדים והקישור למקור עם כל וקטור. תוצר שימושי בהמשך הוא רשימה מדורגת, אוסף מקובץ או קבוצת מאפייני סיווג המחוברים לטקסט שיצר אותם. בדקו אם החומר שנבחר אכן תומך במשימה ושמרו עובדות חסרות בנפרד מקרבה סמנטית. השלב הבא יוכל אז להשתמש בייצוג בתהליך אחזור או קבלת החלטות מוגדר.
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
התחלה
מודל הטמעת הטקסט הקטן מהדור השלישי של OpenAI מחזיר כברירת מחדל וקטורים בני 1536 ממדים ותומך בייצוגים קצרים יותר. השתמשו בפלט המספרי לחיפוש סמנטי, לאחזור קוד, לקיבוץ, להמלצות ולסיווג.
- סוגי קלט נתמכים
- טקסט · token_ids
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings
- סוגי קלט
text,token_ids- סוגי פלט
embedding- הקשר
- 8,192 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות openai/text-embedding-3-small | ברירת מחדל— |
שדהinput | סוגstring|string[]|integer[]|integer[][] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים. תקציב קלט: מקסימום: 8,192 · יחידת טקסט: בתים בקידוד UTF8 · יחידת טוקנים: רכיבים במערך טוקנים | ברירת מחדל— |
שדהencoding_format | סוגstring | דרישהרשות | ערכים ומגבלות float | ברירת מחדלfloat |
שדהdimensions | סוגinteger | דרישהלא נתמך | ערכים ומגבלות מינימום: 1 | ברירת מחדל— |
שדהuser | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהsession_id | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהtrace | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: המקור מאפשר שדה מטא־נתונים זה ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל. | ברירת מחדל— |
שדהprovider | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה | ברירת מחדל— |
שילובים של חומרי קלט
text_to_embedding
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, input |
פרמטרinput_shapes | מפרטstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
פרמטרencoding_format | מפרטfloat |
פרמטרdimensions_override | מפרטfalse |
פרמטרmax_input_budget_units | מפרט8192 |
פרמטרmultimodal_objects | מפרטfalse |
פרמטרmaterial_types | מפרטtext, token_ids |
מחזור חיים: synchronous_json
שמרו כל אינדקס וקטור וממד.
שם מודל רב־מודאלי אינו מאפשר אובייקטי תמונה בנתיב המדויק הזה.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- תעריף רגיל כאשר נבחר מצב מהיר
- מצב Flex
- תעריף רגיל כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.00004 / 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": "openai/text-embedding-3-small", "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='openai/text-embedding-3-small',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 openai/text-embedding-3-small, text-embedding-3-small
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
Ailoot Ultra · הטמעות · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
התחלה
מודל הטמעת הטקסט הקטן מהדור השלישי של OpenAI מחזיר כברירת מחדל וקטורים בני 1536 ממדים ותומך בייצוגים קצרים יותר. השתמשו בפלט המספרי לחיפוש סמנטי, לאחזור קוד, לקיבוץ, להמלצות ולסיווג.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · הטמעות · text-embedding-3-small POST /v1/embeddings
- סוגי קלט
text- סוגי פלט
embedding- הקשר
- 8,192 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות text-embedding-3-small | ברירת מחדל— |
שדהinput | סוגstring|string[]|integer[]|integer[][] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 תנאים: אצווה אחידה שאינה ריקה. מזהי הטוקנים הם מספרים שלמים אי־שליליים. תקציב קלט: מקסימום: 8,192 · יחידת טקסט: בתים בקידוד UTF8 · יחידת טוקנים: רכיבים במערך טוקנים | ברירת מחדל— |
שדהencoding_format | סוגstring | דרישהרשות | ערכים ומגבלות float | ברירת מחדלfloat |
שדהdimensions | סוגinteger | דרישהלא נתמך | ערכים ומגבלות מינימום: 1 | ברירת מחדל— |
שדהuser | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: מטא־נתונים אופציונליים ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל שנבחר. | ברירת מחדל— |
שדהsession_id | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: מטא־נתונים אופציונליים ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל שנבחר. | ברירת מחדל— |
שדהtrace | סוגjson_value | דרישהרשות | ערכים ומגבלות תנאים: מטא־נתונים אופציונליים ב־JSON; המשמעות המדויקת אצל הספק תלויה במודל שנבחר. | ברירת מחדל— |
שדהprovider | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה | ברירת מחדל— |
שילובים של חומרי קלט
text_to_embedding
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, input |
פרמטרinput_shapes | מפרטstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
פרמטרencoding_format | מפרטfloat |
פרמטרdimensions_override | מפרטfalse |
פרמטרmax_input_budget_units | מפרט8192 |
פרמטרmultimodal_objects | מפרטfalse |
פרמטרmaterial_types | מפרטtext |
פרמטרtext_file_material | מפרטקראו את מסמך UTF-8 בפועל והכניסו את הטקסט שלו לקלט שצוין או למחרוזת תוכן ההודעה. |
מחזור חיים: synchronous_json
יש לשלוח את מזהה המודל המדויק ואת שדות החובה.
יש לשמור כל פריט שהוחזר ואת המזהים המקוריים שלו.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- תעריף רגיל כאשר נבחר מצב מהיר
- מצב Flex
- תעריף רגיל כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.00004 / 1K טוקנים פלט · טוקני פלט $0 / 1K טוקנים קלט · קריאה מהמטמון — / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · הטמעות · text-embedding-3-small
{
"model": "text-embedding-3-small",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
קבלה ושמירה של תוצאות
Ailoot Ultra · הטמעות · text-embedding-3-small
json
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
יש לשמור כל וקטור בעל ערכים סופיים עם האינדקס המקורי שלו. יש לשמר את כל הממדים ואת אובייקט השימוש המלא.
כשצריך לבדוק את התגובה המקורית
לא מתווספת נקודת קצה למשימות הטמעה.
שדות התגובה
| שדה | סוג |
|---|---|
שדהobject | סוגstring |
שדהmodel | סוגstring |
שדהdata[].index | סוגinteger |
שדהdata[].embedding | סוגfinite float[] |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · OpenAI: Text Embedding 3 Small
- אילו קלטים ותוצאות זמינים?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- באילו שדות הבקשה משתמשת?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- אילו מגבלות חלות?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(בתים בקידוד UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(בתים בקידוד UTF8);input.min_items:1