הטמעה היא ייצוג מספרי של קלט טקסט, שמאפשר מספר תרחישי שימוש ייחודיים, כמו אשכול, מדידת דמיון ואחזור מידע. למבוא, אפשר לעיין במדריך להטמעות.
בניגוד למודלים של AI גנרטיבי שיוצרים תוכן חדש, מודל Gemini Embedding נועד רק להמיר את הפורמט של נתוני הקלט לייצוג מספרי. Google אחראית לספק מודל הטמעה שממיר את הפורמט של נתוני הקלט לפורמט המספרי המבוקש, אבל המשתמשים נושאים באחריות מלאה לנתונים שהם מזינים ולהטמעות שמתקבלות. השימוש במודל Gemini Embedding מבטא את האישור שלכם לכך שיש לכם את הזכויות הנדרשות על התוכן שאתם מעלים. אסור ליצור תוכן שמפר את זכויות הקניין הרוחני או זכויות הפרטיות של אחרים. השימוש בשירות הזה כפוף למדיניות שלנו בנושא שימוש אסור ולתנאים ולהגבלות של Google.
שיטה: models.embedContent
יוצר וקטור הטמעה מטקסט מהקלט Content באמצעות מודל ההטמעה של Gemini שצוין.
נקודת קצה
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedContent
פרמטרים של נתיב
model
string
חובה. שם המשאב של המודל. המזהה הזה משמש את המודל.
השם הזה צריך להיות זהה לשם של דגם שמוחזר על ידי השיטה models.list.
פורמט: models/{model} הוא מקבל את הצורה models/{model}.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
content
object (Content)
חובה. התוכן להטמעה. רק השדות parts.text ייספרו.
taskType
enum (TaskType)
אופציונלי. סוג המשימה האופציונלי שבו ייעשה שימוש בהטמעות. לא אפשרי בדגמים קודמים (models/embedding-001).
title
string
אופציונלי. כותרת אופציונלית לטקסט. המאפיין הזה רלוונטי רק אם TaskType הוא RETRIEVAL_DOCUMENT.
הערה: ציון title עבור RETRIEVAL_DOCUMENT מספק הטמעות באיכות טובה יותר לאחזור.
outputDimensionality
integer
אופציונלי. מאפיין אופציונלי להפחתת המימד של ההטמעה בפלט. אם המאפיין הזה מוגדר, ערכים גבוהים מדי בהטמעה של הפלט נחתכים מהסוף. נתמך על ידי דגמים חדשים יותר רק משנת 2024. אי אפשר להגדיר את הערך הזה אם משתמשים במודל הקודם (models/embedding-001).
דוגמה לבקשה
Python
Node.js
Go
קונכייה
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של EmbedContentResponse.
שיטה: models.batchEmbedContents
יוצרת כמה וקטורים של הטמעה מהקלט Content שמורכב מחבילה של מחרוזות שמיוצגות כאובייקטים EmbedContentRequest.
נקודת קצה
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContents
פרמטרים של נתיב
model
string
חובה. שם המשאב של המודל. המזהה הזה משמש את המודל.
השם הזה צריך להיות זהה לשם של דגם שמוחזר על ידי השיטה models.list.
פורמט: models/{model} הוא מקבל את הצורה models/{model}.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
requests[]
object (EmbedContentRequest)
חובה. מטמיעים בקשות באצווה. המודל בכל אחת מהבקשות האלה צריך להיות זהה למודל שצוין BatchEmbedContentsRequest.model.
דוגמה לבקשה
Python
Node.js
Go
קונכייה
גוף התשובה
התשובה לBatchEmbedContentsRequest.
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
embeddings[]
object (ContentEmbedding)
פלט בלבד. ההטמעות של כל בקשה, באותו סדר שבו הן סופקו בבקשת Batch.
usageMetadata
object (EmbeddingUsageMetadata)
פלט בלבד. מטא-נתוני השימוש של הבקשה.
| ייצוג JSON |
|---|
{ "embeddings": [ { object ( |
שיטה: models.asyncBatchEmbedContent
הבקשה מוסיפה לאצווה קבוצה של models.embedContent בקשות לעיבוד באצווה. יש לנו handler של models.batchEmbedContents ב-GenerativeService, אבל הוא סונכרן. לכן, כדי למנוע בלבול, ניתן לו את השם Async.
נקודת קצה
posthttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContent
פרמטרים של נתיב
batch.model
string
חובה. השם של Model שבו רוצים להשתמש כדי ליצור את ההשלמה.
פורמט: models/{model} הוא מקבל את הצורה models/{model}.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
batch.name
string
פלט בלבד. מזהה. שם המשאב של הקבוצה.
פורמט: batches/{batchId}
batch.displayName
string
חובה. השם שהמשתמש נתן לקבוצה הזו.
batch.inputConfig
object (InputEmbedContentConfig)
חובה. הגדרת הקלט של המופעים שבהם מתבצע עיבוד באצווה.
batch.output
object (EmbedContentBatchOutput)
פלט בלבד. הפלט של בקשת Batch.
batch.createTime
string (Timestamp format)
פלט בלבד. השעה שבה נוצרת קבוצת הפעולות.
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
batch.endTime
string (Timestamp format)
פלט בלבד. השעה שבה הסתיים עיבוד ברצף (batch processing).
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
batch.updateTime
string (Timestamp format)
פלט בלבד. השעה שבה העדכון האחרון של הקבוצה בוצע.
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
batch.batchStats
object (EmbedContentBatchStats)
פלט בלבד. נתונים סטטיסטיים על האצווה.
batch.state
enum (BatchState)
פלט בלבד. המצב של הקבוצה.
batch.priority
string (int64 format)
אופציונלי. העדיפות של הקבוצה. המערכת תעבד קבוצות עם ערך עדיפות גבוה יותר לפני קבוצות עם ערך עדיפות נמוך יותר. מותר להשתמש בערכים שליליים. ברירת המחדל היא 0.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
EmbedContentResponse
התשובה לEmbedContentRequest.
embedding
object (ContentEmbedding)
פלט בלבד. ההטמעה שנוצרה מתוכן הקלט.
usageMetadata
object (EmbeddingUsageMetadata)
פלט בלבד. מטא-נתוני השימוש של הבקשה.
| ייצוג JSON |
|---|
{ "embedding": { object ( |
ContentEmbedding
רשימה של מספרים ממשיים שמייצגים הטמעה.
values[]
number
ערכי ההטמעה. השדה הזה מיועד רק למשתמשים בשירותים של צד שלישי, ולא יאוכלס בשיחות עם צד ראשון.
shape[]
integer
בשדה הזה מאוחסן טנזור של צורת מסגרת של טוקנים רכים (למשל, [1, 1, 256, 2048]).
| ייצוג JSON |
|---|
{ "values": [ number ], "shape": [ integer ] } |
TaskType
סוג המשימה שבה ייעשה שימוש בהטמעה.
| טיפוסים בני מנייה (enum) | |
|---|---|
TASK_TYPE_UNSPECIFIED |
ערך לא מוגדר, שברירת המחדל שלו היא אחד מערכי ה-enum האחרים. |
RETRIEVAL_QUERY |
מציינת שהטקסט שצוין הוא שאילתה בהגדרת חיפוש או אחזור. |
RETRIEVAL_DOCUMENT |
מציינים שהטקסט שצוין הוא מסמך מתוך מאגר המידע שנערך בו החיפוש. |
SEMANTIC_SIMILARITY |
מציינת שהטקסט שצוין ישמש ל-STS. |
CLASSIFICATION |
מציין שהטקסט הנתון יסווג. |
CLUSTERING |
מציינת שההטמעות ישמשו לאשכולות. |
QUESTION_ANSWERING |
מציין שהטקסט שצוין ישמש למענה לשאלות. |
FACT_VERIFICATION |
המדיניות קובעת שהטקסט שצוין ישמש לאימות עובדות. |
CODE_RETRIEVAL_QUERY |
מציין שהטקסט שצוין ישמש לאחזור קוד. |
EmbedContentBatch
- ייצוג ב-JSON
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
משאב שמייצג אצווה של בקשות EmbedContent.
model
string
חובה. השם של Model שבו רוצים להשתמש כדי ליצור את ההשלמה.
פורמט: models/{model}
name
string
פלט בלבד. מזהה. שם המשאב של הקבוצה.
פורמט: batches/{batchId}
displayName
string
חובה. השם שהמשתמש נתן לקבוצה הזו.
inputConfig
object (InputEmbedContentConfig)
חובה. הגדרת הקלט של המופעים שבהם מתבצע עיבוד באצווה.
output
object (EmbedContentBatchOutput)
פלט בלבד. הפלט של בקשת Batch.
createTime
string (Timestamp format)
פלט בלבד. השעה שבה נוצרת קבוצת הפעולות.
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
endTime
string (Timestamp format)
פלט בלבד. השעה שבה הסתיים עיבוד ברצף (batch processing).
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
updateTime
string (Timestamp format)
פלט בלבד. השעה שבה העדכון האחרון של הקבוצה בוצע.
הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".
batchStats
object (EmbedContentBatchStats)
פלט בלבד. נתונים סטטיסטיים על האצווה.
state
enum (BatchState)
פלט בלבד. המצב של הקבוצה.
priority
string (int64 format)
אופציונלי. העדיפות של הקבוצה. המערכת תעבד קבוצות עם ערך עדיפות גבוה יותר לפני קבוצות עם ערך עדיפות נמוך יותר. מותר להשתמש בערכים שליליים. ברירת המחדל היא 0.
| ייצוג JSON |
|---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
הגדרת הקלט לבקשת Batch.
source
Union type
source יכול להיות רק אחד מהבאים:fileName
string
שם הקטגוריה File שמכילה את בקשות הקלט.
requests
object (InlinedEmbedContentRequests)
הבקשות שיעובדו באצווה.
| ייצוג JSON |
|---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
הבקשות שיעובדו באצווה, אם הן סופקו כחלק מבקשת יצירת האצווה.
requests[]
object (InlinedEmbedContentRequest)
חובה. הבקשות שיעובדו באצווה.
| ייצוג JSON |
|---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
הבקשה שתעובד באצווה.
request
object (EmbedContentRequest)
חובה. הבקשה שתעובד באצווה.
metadata
object (Struct format)
אופציונלי. המטא-נתונים שמשויכים לבקשה.
| ייצוג JSON |
|---|
{
"request": {
object ( |
EmbedContentBatchOutput
הפלט של בקשת Batch. הערך הזה מוחזר בשדה AsyncBatchEmbedContentResponse או בשדה EmbedContentBatch.output.
output
Union type
output יכול להיות רק אחד מהבאים:responsesFile
string
פלט בלבד. מזהה הקובץ שמכיל את התשובות. הקובץ יהיה קובץ JSONL עם תגובה אחת בכל שורה. התשובות יהיו EmbedContentResponse הודעות בפורמט JSON. התשובות ייכתבו באותו סדר של בקשות הקלט.
inlinedResponses
object (InlinedEmbedContentResponses)
פלט בלבד. התשובות לבקשות באצווה. התשובה הזו מוחזרת כשהאצווה נוצרה באמצעות בקשות מוטמעות. סדר התשובות יהיה זהה לסדר הבקשות שהוזנו.
| ייצוג JSON |
|---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
התשובות לבקשות באצווה.
inlinedResponses[]
object (InlinedEmbedContentResponse)
פלט בלבד. התשובות לבקשות באצווה.
| ייצוג JSON |
|---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
התשובה לבקשה יחידה באצווה.
metadata
object (Struct format)
פלט בלבד. המטא-נתונים שמשויכים לבקשה.
output
Union type
output יכול להיות רק אחד מהבאים:error
object (Status)
פלט בלבד. השגיאה שנתקלה במהלך עיבוד הבקשה.
response
object (EmbedContentResponse)
פלט בלבד. התשובה לבקשה.
| ייצוג JSON |
|---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
נתונים סטטיסטיים על האצווה.
requestCount
string (int64 format)
פלט בלבד. מספר הבקשות באצווה.
successfulRequestCount
string (int64 format)
פלט בלבד. מספר הבקשות שעובדו בהצלחה.
failedRequestCount
string (int64 format)
פלט בלבד. מספר הבקשות שלא הצליחו לעבור עיבוד.
pendingRequestCount
string (int64 format)
פלט בלבד. מספר הבקשות שעדיין ממתינות לעיבוד.
| ייצוג JSON |
|---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |