הטמעות הן ייצוג מספרי של קלט טקסטואלי, שמאפשר מספר תרחישי שימוש ייחודיים, כמו אשכולות, מדידת דמיון ואחזור מידע. במדריך בנושא הטמעות יש מבוא לנושא.
בניגוד למודלים של 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
(deprecated)
enum (TaskType)
אופציונלי. הוצא משימוש: במקומו צריך להשתמש ב-EmbedContentConfig.task_type. סוג המשימה האופציונלי שבו ייעשה שימוש בהטמעות. לא אפשרי במודלים קודמים (models/embedding-001).
title
(deprecated)
string
אופציונלי. הוצא משימוש: במקומו השתמשו ב-EmbedContentConfig.title. כותרת אופציונלית לטקסט. האפשרות הזו רלוונטית רק אם TaskType הוא RETRIEVAL_DOCUMENT.
הערה: ציון title עבור RETRIEVAL_DOCUMENT מספק הטמעות באיכות טובה יותר לאחזור.
outputDimensionality
(deprecated)
integer
אופציונלי. הוצא משימוש: במקומו צריך להשתמש ב-EmbedContentConfig.output_dimensionality. מאפיין אופציונלי להפחתת המימד של ההטמעה של הפלט. אם המאפיין הזה מוגדר, ערכים חריגים בהטמעה של הפלט נחתכים מהסוף. התכונה נתמכת רק בדגמים חדשים יותר משנת 2024. אי אפשר להגדיר את הערך הזה אם משתמשים במודל הקודם (models/embedding-001).
embedContentConfig
object (EmbedContentConfig)
אופציונלי. הגדרות לבקשה models.embedContent.
דוגמה לבקשה
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)
פלט בלבד. השעה שבה הסתיים עיבוד הקבוצה.
הפלט שנוצר תמיד יהיה בפורמט 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.
batch.webhookConfig.uris[]
string
אופציונלי. אם מגדירים כתובות URI של webhook, הן ישמשו לאירועי webhook במקום כתובות ה-webhook הרשומות.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של 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)
פלט בלבד. השעה שבה הסתיים עיבוד הקבוצה.
הפלט שנוצר תמיד יהיה בפורמט 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 } |
EmbedContentConfig
הגדרות לבקשת EmbedContent.
title
string
אופציונלי. הכותרת של הטקסט.
taskType
enum (TaskType)
אופציונלי. סוג המשימה של ההטמעה.
autoTruncate
boolean
אופציונלי. האם לקצץ את תוכן הקלט באופן אוטומטי אם הוא ארוך יותר מאורך הרצף המקסימלי.
outputDimensionality
integer
אופציונלי. המימד המצומצם של ההטמעה של הפלט. אם המאפיין הזה מוגדר, ערכים חריגים בהטמעה של הפלט נחתכים מהסוף.
documentOcr
boolean
אופציונלי. האם להפעיל OCR לתוכן המסמך.
audioTrackExtraction
boolean
אופציונלי. האם לחלץ אודיו מתוכן וידאו.
| ייצוג ב-JSON |
|---|
{
"title": string,
"taskType": enum ( |
EmbeddingUsageMetadata
מטא-נתונים על השימוש בבקשת ההטמעה.
promptTokenCount
integer
פלט בלבד. מספר הטוקנים בהנחיה.
promptTokenDetails[]
object (ModalityTokenCount)
פלט בלבד. רשימת האופנים שעובדו בקלט של הבקשה.
| ייצוג ב-JSON |
|---|
{
"promptTokenCount": integer,
"promptTokenDetails": [
{
object ( |