הטמעה היא ייצוג מספרי של קלט טקסט, שמאפשר מספר תרחישי שימוש ייחודיים, כמו אשכולות, מדידת דמיון ואחזור מידע. למבוא, אפשר לעיין במדריך להטמעות.
בניגוד למודלים של AI גנרטיבי שיוצרים תוכן חדש, מודל ה-Embedding של Gemini נועד רק להמיר את פורמט נתוני הקלט לייצוג מספרי. 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)
פלט בלבד. ההטמעות של כל בקשה, באותו סדר שבו הן סופקו בבקשה מרובה.
| ייצוג ב-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.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.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
EmbedContentResponse
התשובה לEmbedContentRequest.
embedding
object (ContentEmbedding)
פלט בלבד. ההטמעה שנוצרה מתוכן הקלט.
| ייצוג ב-JSON |
|---|
{
"embedding": {
object ( |
ContentEmbedding
רשימה של מספרים ממשיים שמייצגים הטמעה.
values[]
number
ערכי ההטמעה.
| ייצוג ב-JSON |
|---|
{ "values": [ number ] } |
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)
פלט בלבד. הפלט של הבקשה באצווה.
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
הגדרת הקלט לבקשה באצווה.
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
הפלט של בקשה באצווה. הערך הזה מוחזר בשדה 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 } |