הטמעה היא ייצוג מספרי של קלט טקסט, שמאפשר מספר תרחישי שימוש ייחודיים, כמו סידור באשכולות, מדידת דמיון ואחזור מידע. למבוא, אפשר לעיין במדריך להטמעות.
בניגוד למודלים של 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.
| ייצוג ב-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)
פלט בלבד. ההטמעה שנוצרה מתוכן הקלט.
| ייצוג ב-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
הבקשה שצריך לעבד ב-Batch.
request
object (EmbedContentRequest)
חובה. הבקשה שצריך לעבד ב-Batch.
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 } |