OpenAI: Text Embedding Ada 002
מודל הטמעת טקסט של OpenAI המחזיר וקטור מספרי בן 1536 ממדים. השתמשו בייצוגים האלה לחיפוש סמנטי, להמלצות על תוכן קשור, לקיבוץ לאשכולות, לסיווג או לאיתור רשומות טקסט חריגות.
- Ailoot Ultra · ייצוגים וקטוריים
POST /v1/embeddingsopenai/text-embedding-ada-002 - Ailoot Ultra · הטמעות · text-embedding-ada-002
POST /v1/embeddingstext-embedding-ada-002
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
text-embedding-ada-002 הוא מודל הטמעת הטקסט של OpenAI לייצוג חומר כתוב כווקטור מספרי. הפלט שלו מכיל 1536 רכיבים. היצרן משלב דמיון בין טקסטים, חיפוש מסמכים ושאילתות וחיפוש קוד בייצוג אחד. התוצאה היא נתונים להשוואה או לאלגוריתם אחר, ולא תשובה שנוצרת לטקסט שמוטמע.
לחיפוש סמנטי, הכינו קטעי מסמך בעלי משמעות ושמרו את מזהי המקור שלהם. תהליך המחשה מטמיע כל קטע ואת שאלת המשתמש באותו מודל, משווה את הווקטורים ומחזיר את קטעי המקור הרלוונטיים. היישום קובע את כלל האחזור, המסננים ואופן ההצגה. שלב מאוחר יותר של יצירת טקסט יכול להשתמש בחומר שאוחזר כדי לפתח תשובה, ואילו מודל ההטמעה מספק את הייצוג המספרי.
שימושים מתועדים נוספים כוללים קיבוץ רשומות דומות, המלצות על תוכן קשור, סיווג טקסט ואיתור חריגים. עבור המלצה, השוו תיאורים של האובייקטים שהקשר ביניהם חשוב. לסיווג, המדריך מתאר השוואה לייצוגי קטגוריות או שימוש בווקטורים כמאפיינים במסווג. באיתור חריגות, התוצאה הרלוונטית היא רשומה הנבדלת מהאוסף סביבה, המפורשת בהתאם למשימת המוצר.
OpenAI מציינת קלט מרבי של 8192 טוקנים למודל הזה. API ההטמעות של היצרן מקבל מחרוזות טקסט או קלט שכבר חולק לטוקנים, מאפשר קלטים מרובים בבקשה אחת ודוחה מחרוזות ריקות. המגבלה המצטברת שלו היא 300,000 טוקנים בבקשה אחת, נוסף על המגבלה לכל קלט. חלקו מסמכים ארוכים יותר לקטעים שימושיים תוך שמירת כותרות, הגדרות והפניה בחזרה לחומר המקורי.
הפלט הוא וקטור של ערכי נקודה צפה; היצרן מתעד גם base64 כקידוד חלופי להעברת הנתונים. הפרמטר של OpenAI לקיצור מספר הממדים מיועד למודלי הטמעה מהדור השלישי ואילך, ולכן התוצאה המתועדת של Ada בת 1536 הממדים נשארת נפרדת מהבקרה הזו. שמרו את זהות המודל ואת הווקטור עם רשומת המקור, כדי שהשוואות מאוחרות יותר ישתמשו בייצוג עקבי.
מדריך ההטמעות ממליץ על דמיון קוסינוס ומציין שהטמעות OpenAI מנורמלות לאורך יחידה. עבור וקטורים כאלה, מכפלה סקלרית יכולה לחשב דמיון קוסינוס ומרחק אוקלידי נותן את אותו דירוג. ציון דמיון הוא חלק מהיגיון האחזור או הסיווג של היישום, ולא החלטה קטגורית שהמודל מספק אוטומטית.
הגדירו אילו שדות מקור הופכים לטקסט הקלט ואיך יש לחלק את הקטעים. תוצאה לדוגמה היא אוסף מדורג של קטעי מסמכים או רשומות קשורות, שכל אחד מהם מחובר למקורו ולכלל ששימש לבחירתו. שמרו על הכנה עקבית והעריכו אם החומר שהוחזר עונה על השאלה בפועל. כך הפלט המספרי נעשה שימושי לשלב הבא של חיפוש, המלצה או ניתוח.
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings openai/text-embedding-ada-002
openai/text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
התחלה
מודל הטמעת טקסט של OpenAI המחזיר וקטור מספרי בן 1536 ממדים. השתמשו בייצוגים האלה לחיפוש סמנטי, להמלצות על תוכן קשור, לקיבוץ לאשכולות, לסיווג או לאיתור רשומות טקסט חריגות.
- סוגי קלט נתמכים
- טקסט · token_ids
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · ייצוגים וקטוריים POST /v1/embeddings
- סוגי קלט
text,token_ids- סוגי פלט
embedding- הקשר
- 8,192 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות openai/text-embedding-ada-002 | ברירת מחדל— |
שדה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.0002 / 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-ada-002", "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-ada-002',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-ada-002, text-embedding-ada-002
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
Ailoot Ultra · הטמעות · text-embedding-ada-002 POST /v1/embeddings text-embedding-ada-002
text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
התחלה
מודל הטמעת טקסט של OpenAI המחזיר וקטור מספרי בן 1536 ממדים. השתמשו בייצוגים האלה לחיפוש סמנטי, להמלצות על תוכן קשור, לקיבוץ לאשכולות, לסיווג או לאיתור רשומות טקסט חריגות.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- embedding
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · הטמעות · text-embedding-ada-002 POST /v1/embeddings
- סוגי קלט
text- סוגי פלט
embedding- הקשר
- 8,192 tokens
- פורמט פלט
- json
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות text-embedding-ada-002 | ברירת מחדל— |
שדה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.0002 / 1K טוקנים פלט · טוקני פלט $0 / 1K טוקנים קלט · קריאה מהמטמון — / 1K טוקנים קלט · כתיבה למטמון — / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · הטמעות · text-embedding-ada-002
{
"model": "text-embedding-ada-002",
"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-ada-002', '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-ada-002', '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-ada-002
json
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
יש לשמור כל וקטור בעל ערכים סופיים עם האינדקס המקורי שלו. יש לשמר את כל הממדים ואת אובייקט השימוש המלא.
כשצריך לבדוק את התגובה המקורית
לא מתווספת נקודת קצה למשימות הטמעה.
שדות התגובה
| שדה | סוג |
|---|---|
שדהobject | סוגstring |
שדהmodel | סוגstring |
שדהdata[].index | סוגinteger |
שדהdata[].embedding | סוגfinite float[] |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra openai/text-embedding-ada-002, text-embedding-ada-002
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · OpenAI: Text Embedding Ada 002
- אילו קלטים ותוצאות זמינים?
POST /v1/embeddings·openai/text-embedding-ada-002:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-ada-002:text→embedding- באילו שדות הבקשה משתמשת?
POST /v1/embeddings·openai/text-embedding-ada-002:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-ada-002:model,input,encoding_format,provider- אילו מגבלות חלות?
POST /v1/embeddings·openai/text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(בתים בקידוד UTF8);input.min_items:1POST /v1/embeddings·text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(בתים בקידוד UTF8);input.min_items:1