ה-API של הטמעות טקסט ממיר נתונים טקסטואליים לווקטורים מספריים. הייצוגים הווקטוריים האלה נועדו לתעד את המשמעות הסמנטית וההקשר של המילים שהם מייצגים.
מודלים נתמכים:
אפשר לקבל הטמעות טקסט באמצעות המודלים הבאים:
| שם הדגם | תיאור | מידות הפלט | אורך מקסימלי של רצף | שפות טקסט נתמכות |
|---|---|---|---|---|
gemini-embedding-001 |
ביצועים מתקדמים במשימות באנגלית, במשימות רב-לשוניות ובמשימות קוד. הוא מאחד את המודלים שהיו בעבר מיוחדים, כמו text-embedding-005 ו-text-multilingual-embedding-002, ומשיג ביצועים טובים יותר בתחומים שלהם. אפשר לקרוא פרטים נוספים בדוח הטכני שלנו. |
עד 3,072 | 2,048 טוקנים | שפות נתמכות לטקסט |
text-embedding-005 |
מתמחה במשימות באנגלית ובקוד. | עד 768 | 2,048 טוקנים | אנגלית |
text-multilingual-embedding-002 |
מתמחה במשימות רב-לשוניות. | עד 768 | 2,048 טוקנים | שפות נתמכות לטקסט |
gemini-embedding-001 הוא המודל הגדול שלנו שנועד לספק את הביצועים הכי טובים, כדי להבטיח איכות הטמעה מעולה.
תחביר
curl
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:predict -d \ '{ "instances": [ ... ], "parameters": { ... } }'
Python
PROJECT_ID = PROJECT_ID REGION = us-central1 MODEL_ID = MODEL_ID import vertexai from vertexai.language_models import TextEmbeddingModel vertexai.init(project=PROJECT_ID, location=REGION) model = TextEmbeddingModel.from_pretrained(MODEL_ID) embeddings = model.get_embeddings(...)
רשימת פרמטרים
| שדות ברמה העליונה | |
|---|---|
|
רשימה של אובייקטים שמכילים את השדות הבאים:
|
|
אובייקט שמכיל את השדות הבאים:
|
instance שדות |
|
|---|---|
|
הטקסט שרוצים ליצור לו הטמעות. |
|
הפרמטר הזה משמש להעברת מידע על האפליקציה במורד הזרם, כדי לעזור למודל ליצור הטמעות טובות יותר. אם לא מציינים ערך, ברירת המחדל היא
מידע נוסף על סוגי משימות זמין במאמר בחירת סוג משימת הטמעה. |
|
הן עוזרות למודל ליצור הטמעות טובות יותר.
בתוקף רק עם |
task_type
בטבלה הבאה מתוארים ערכי הפרמטר task_type והתרחישים לדוגמה שמשויכים לכל ערך:
task_type |
תיאור |
|---|---|
RETRIEVAL_QUERY |
מציין שהטקסט הנתון הוא שאילתה בהגדרה של חיפוש או אחזור. משתמשים ב-RETRIEVAL_DOCUMENT לצד המסמך. |
RETRIEVAL_DOCUMENT |
מציין שהטקסט הנתון הוא מסמך בהגדרה של חיפוש או אחזור. |
SEMANTIC_SIMILARITY |
מציין שהטקסט הנתון משמש לדמיון סמנטי בין טקסטים (STS). |
CLASSIFICATION |
מציין שההטמעה משמשת לסיווג. |
CLUSTERING |
מציין שההטמעה משמשת לאשכולות. |
QUESTION_ANSWERING |
מציין שההטמעה של השאילתה משמשת למענה על שאלות. משתמשים ב-RETRIEVAL_DOCUMENT לצד המסמך. |
FACT_VERIFICATION |
מציין שהטמעת השאילתה משמשת לאימות עובדות. משתמשים ב-RETRIEVAL_DOCUMENT לצד המסמך. |
CODE_RETRIEVAL_QUERY |
מציינת שהטמעת השאילתה משמשת לאחזור קוד עבור Java ו-Python. משתמשים ב-RETRIEVAL_DOCUMENT לצד המסמך. |
משימות אחזור:
שאילתה: משתמשים ב-task_type=RETRIEVAL_QUERY כדי לציין שטקסט הקלט הוא שאילתת חיפוש.
מאגר מידע: משתמשים ב-task_type=RETRIEVAL_DOCUMENT כדי לציין שטקסט הקלט הוא חלק מאוסף המסמכים שמבוצע בו חיפוש.
משימות דומות:
דמיון סמנטי: משתמשים ב-task_type= SEMANTIC_SIMILARITY לשני טקסטים קלט כדי להעריך את הדמיון במשמעות הכוללת שלהם.
parameters שדות |
|
|---|---|
|
אם הערך מוגדר כ-True, הטקסט שמוזן ייחתך. אם הערך הוא false, תוצג שגיאה אם הטקסט שמוזן ארוך יותר מהאורך המקסימלי שהמודל תומך בו. ברירת המחדל היא True. |
|
משמש לציון גודל ההטמעה של הפלט. אם מציינים ערך, ההטמעות של הפלט ייחתכו לגודל שצוין. |
גוף הבקשה
{
"instances": [
{
"task_type": "RETRIEVAL_DOCUMENT",
"title": "document title",
"content": "I would like embeddings for this text!"
},
]
}
גוף התשובה
{
"predictions": [
{
"embeddings": {
"statistics": {
"truncated": boolean,
"token_count": integer
},
"values": [ number ]
}
}
]
}
| רכיבי התגובה | |
|---|---|
|
רשימה של אובייקטים עם השדות הבאים:
|
embeddings שדות |
|
|---|---|
|
רשימה של |
|
הנתונים הסטטיסטיים שחושבו מטקסט הקלט. התכונות הנכללות:
|
דוגמה לתשובה
{
"predictions": [
{
"embeddings": {
"values": [
0.0058424929156899452,
0.011848051100969315,
0.032247550785541534,
-0.031829461455345154,
-0.055369812995195389,
...
],
"statistics": {
"token_count": 4,
"truncated": false
}
}
}
]
}
דוגמאות
הטמעה של מחרוזת טקסט
בדוגמה הבאה אפשר לראות איך מקבלים את ההטמעה של מחרוזת טקסט.
REST
אחרי הגדרת הסביבה, אפשר להשתמש ב-REST כדי לבדוק הנחיית טקסט. בדוגמה הבאה נשלחת בקשה לנקודת הקצה של מודל בעל התוכן הדיגיטלי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- TEXT: הטקסט שרוצים ליצור לו הטמעות. מגבלה: חמישה טקסטים של עד 2,048 טוקנים לכל טקסט בכל המודלים, למעט
textembedding-gecko@001. אורך הטוקן המקסימלי של הקלט עבורtextembedding-gecko@001הוא 3,072. במקרה שלgemini-embedding-001, כל בקשה יכולה לכלול רק קלט טקסט אחד. מידע נוסף זמין במאמר בנושא מגבלות על הטמעת טקסט. - AUTO_TRUNCATE: אם הערך הוא
false, בקשות עם טקסט שחורג ממגבלת האסימון ייכשלו. ערך ברירת המחדל הואtrue.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict
גוף בקשת JSON:
{
"instances": [
{ "content": "TEXT"}
],
"parameters": {
"autoTruncate": AUTO_TRUNCATE
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-embedding-001:predict" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו: שימו לב שהערך values
קוצר כדי לחסוך במקום.
- משתמשים בשיטה
generateContentכדי לבקש שהתשובה תוחזר אחרי שהיא נוצרה במלואה. כדי לצמצם את תפיסת זמן האחזור בקרב קהל אנושי, צריך להזרים את התשובה בזמן שהיא נוצרת באמצעות השיטהstreamGenerateContent. - מזהה המודל הרב-אופני מופיע בסוף כתובת ה-URL לפני השיטה
(לדוגמה,
gemini-2.0-flash). יכול להיות שהדוגמה הזו תתמוך גם במודלים אחרים. - כשמשתמשים בנקודת קצה אזורית ל-API (לדוגמה,
us-central1), האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד. המערכת מתעלמת מכל מיקום שיוצר התנגשות בנתיב המשאב.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Go API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות טקסט נתמכות
כל המודלים להטמעת טקסט תומכים בטקסט באנגלית ונבדקו על טקסט באנגלית. מודל text-multilingual-embedding-002 תומך גם בשפות הבאות, ועבר הערכה בשפות האלה:
- השפות שנבדקו:
Arabic (ar),Bengali (bn),English (en),Spanish (es),German (de),Persian (fa),Finnish (fi),French (fr),Hindi (hi),Indonesian (id),Japanese (ja),Korean (ko),Russian (ru),Swahili (sw),Telugu (te),Thai (th),Yoruba (yo),Chinese (zh) - שפות נתמכות:
Afrikaans,Albanian,Amharic,Arabic,Armenian,Azerbaijani,Basque,Belarusiasn,Bengali,Bulgarian,Burmese,Catalan,Cebuano,Chichewa,Chinese,Corsican,Czech,Danish,Dutch,English,Esperanto,Estonian,Filipino,Finnish,French,Galician,Georgian,German,Greek,Gujarati,Haitian Creole,Hausa,Hawaiian,Hebrew,Hindi,Hmong,Hungarian,Icelandic,Igbo,Indonesian,Irish,Italian,Japanese,Javanese,Kannada,Kazakh,Khmer,Korean,Kurdish,Kyrgyz,Lao,Latin,Latvian,Lithuanian,Luxembourgish,Macedonian,Malagasy,Malay,Malayalam,Maltese,Maori,Marathi,Mongolian,Nepali,Norwegian,Pashto,Persian,Polish,Portuguese,Punjabi,Romanian,Russian,Samoan,Scottish Gaelic,Serbian,Shona,Sindhi,Sinhala,Slovak,Slovenian,Somali,Sotho,Spanish,Sundanese,Swahili,Swedish,Tajik,Tamil,Telugu,Thai,Turkish,Ukrainian,Urdu,Uzbek,Vietnamese,Welsh,West Frisian,Xhosa,Yiddish,Yoruba,Zulu.
מודל gemini-embedding-001 תומך בשפות הבאות:
Arabic, Bengali, Bulgarian, Chinese (Simplified and Traditional), Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Afrikaans, Amharic, Assamese, Azerbaijani, Belarusian, Bosnian, Catalan, Cebuano, Corsican, Welsh, Dhivehi, Esperanto, Basque, Persian, Filipino (Tagalog), Frisian, Irish, Scots Gaelic, Galician, Gujarati, Hausa, Hawaiian, Hmong, Haitian Creole, Armenian, Igbo, Icelandic, Javanese, Georgian, Kazakh, Khmer, Kannada, Krio, Kurdish, Kyrgyz, Latin, Luxembourgish, Lao, Malagasy, Maori, Macedonian, Malayalam, Mongolian, Meiteilon (Manipuri), Marathi, Malay, Maltese, Myanmar (Burmese), Nepali, Nyanja (Chichewa), Odia (Oriya), Punjabi, Pashto, Sindhi, Sinhala (Sinhalese), Samoan, Shona, Somali, Albanian, Sesotho, Sundanese, Tamil, Telugu, Tajik, Uyghur, Urdu, Uzbek, Xhosa, Yiddish, Yoruba, Zulu.
גרסאות המודלים
כדי להשתמש במודל יציב עדכני, מציינים את מספר גרסת המודל, לדוגמה
gemini-embedding-001. לא מומלץ לציין מודל ללא מספר גרסה, כי זה רק מצביע מדור קודם למודל אחר ולא יציב.
מידע נוסף זמין במאמר גרסאות של מודלים ומחזור החיים שלהם.
המאמרים הבאים
לעיון בתיעוד מפורט: