Embeddings

שיטה: models.embedContent

יוצרת הטמעה מהמודל בהינתן קלט Content.

נקודת קצה

לשלוח https://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

זה שינוי אופציונלי. כותרת אופציונלית לטקסט. רלוונטי רק כאשר סוג המשימה הוא RETRIEVAL_DOCUMENT.

הערה: ציון title עבור RETRIEVAL_DOCUMENT מספק הטמעות איכותיות יותר לאחזור.

outputDimensionality integer

זה שינוי אופציונלי. מימד מצומצם אופציונלי להטמעת הפלט. אם המדיניות מוגדרת, ערכים עודפים בהטמעת הפלט נחתכים מהסוף. נתמך על ידי מודלים חדשים יותר משנת 2024, ואי אפשר לציין את הערך הזה במודל הקודם (models/embedding-001).

דוגמה לבקשה

Python


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

גוף התשובה

התשובה לEmbedContentRequest.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:

שדות
embedding object (ContentEmbedding)

פלט בלבד. ההטמעה שנוצרה מתוכן הקלט.

ייצוג JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

שיטה: models.batchEmbedContents

יוצרת הטמעות מרובות מהמודל בעל טקסט קלט בקריאה סינכרונית.

נקודת קצה

לשלוח https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

פרמטרים של נתיב

model string

חובה. שם המשאב של המודל. המזהה הזה משמש את המודל.

השם הזה צריך להיות תואם לשם הדגם שהוחזר על ידי השיטה models.list.

פורמט: models/{model} הוא מופיע בפורמט models/{model}.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

שדות
requests[] object (EmbedContentRequest)

חובה. הטמעת בקשות באצווה. המודל בכל אחת מהבקשות חייב להתאים למודל שצוין BatchEmbedContentsRequest.model.

דוגמה לבקשה

Python

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

גוף התשובה

התשובה לBatchEmbedContentsRequest.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:

שדות
embeddings[] object (ContentEmbedding)

פלט בלבד. ההטמעות (embeddings) לכל בקשה, באותו סדר שבו הן סופקו בבקשה באצווה.

ייצוג JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

בקשה המכילה את Content כדי שהמודל יוטמע.

ייצוג JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
שדות
model string

חובה. שם המשאב של המודל. המזהה הזה משמש את המודל.

השם הזה צריך להיות תואם לשם הדגם שהוחזר על ידי השיטה models.list.

פורמט: models/{model}

content object (Content)

חובה. התוכן להטמעה. רק השדות parts.text ייספרו.

taskType enum (TaskType)

זה שינוי אופציונלי. סוג משימה אופציונלי שעבורו ייעשה שימוש בהטמעות. אפשר להגדיר לקמפיין models/embedding-001 בלבד.

title string

זה שינוי אופציונלי. כותרת אופציונלית לטקסט. רלוונטי רק כאשר סוג המשימה הוא RETRIEVAL_DOCUMENT.

הערה: ציון title עבור RETRIEVAL_DOCUMENT מספק הטמעות איכותיות יותר לאחזור.

outputDimensionality integer

זה שינוי אופציונלי. מימד מצומצם אופציונלי להטמעת הפלט. אם המדיניות מוגדרת, ערכים עודפים בהטמעת הפלט נחתכים מהסוף. נתמך על ידי מודלים חדשים יותר משנת 2024, ואי אפשר לציין את הערך הזה במודל הקודם (models/embedding-001).

ContentEmbedding

רשימה של פריטים צפופים שמייצגים הטמעה.

ייצוג JSON
{
  "values": [
    number
  ]
}
שדות
values[] number

ערכי ההטמעה.

TaskType

סוג המשימה שעבורה ייעשה שימוש בהטמעה.

טיפוסים בני מנייה (enum)
TASK_TYPE_UNSPECIFIED לא הוגדר ערך. הערך הזה יוגדר כברירת מחדל לאחד מערכי ה-enum האחרים.
RETRIEVAL_QUERY מציינת שהטקסט הנתון הוא שאילתה בהגדרת חיפוש/אחזור.
RETRIEVAL_DOCUMENT מציין שהטקסט הנתון הוא מסמך מהקורפוס שבו מתבצע החיפוש.
SEMANTIC_SIMILARITY מציינת שהטקסט הנתון ישמש ל-STS.
CLASSIFICATION מציינת שהטקסט הנתון יסווג.
CLUSTERING מציינת שההטמעות ישמשו לקיבוץ לאשכולות.
QUESTION_ANSWERING מציינת שהטקסט הנתון ישמש למענה על שאלות.
FACT_VERIFICATION מציינת שהטקסט הנתון ישמש לאימות עובדות.