המודל text-embedding-004
יוצר הטמעות מתקדמות של מילים, ביטויים ומשפטים. לאחר מכן אפשר להשתמש בהטמעות (embeddings) שנוצרו למשימות כמו חיפוש סמנטי, סיווג טקסט וקיבוץ, ועוד משימות רבות. מידע נוסף על הטמעות זמין במאמר המחקר שלנו.
מהם הטמעות (embeddings)?
הטמעות (embeddings) מתעדות את המשמעות הסמנטית ואת ההקשר, וכתוצאה מכך לטקסטים עם משמעויות דומות יש הטמעות 'קרובות' יותר. לדוגמה, למשפטים "לקחתי את הכלב שלי לווטרינר" ו "לקחתי את החתול שלי לווטרינר" יהיו הטמעות (embeddings) שנמצאות קרוב זו לזו במרחב הווקטור, כי שניהם מתארים הקשר דומה.
אפשר להשתמש בהטמעות כדי להשוות בין טקסטים שונים ולהבין איך הם קשורים. לדוגמה, אם הטקסטים 'חתול' ו'כלב' קרובים זה לזה במרחב הממוזער, אפשר להסיק שהמילים האלה דומות במשמעות, בהקשר או בשניהם. כך אפשר להשתמש ב-AI במגוון תרחישים נפוצים לדוגמה.
יצירת הטמעות (embeddings)
משתמשים ב-method embedContent
כדי ליצור הטמעות טקסט:
Python
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
result = genai.embed_content(
model="models/text-embedding-004",
content="What is the meaning of life?")
print(str(result['embedding']))
Node.js
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});
async function run() {
const result = await model.embedContent("What is the meaning of life?");
console.log(result.embedding.values);
}
run();
curl
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
"content": {
"parts":[{
"text": "What is the meaning of life?"}]}
}'
Go
ctx := context.Background()
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY")))
if err != nil {
log.Fatal(err)
}
defer client.Close()
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("What is the meaning of life?"))
if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)
תרחישים לדוגמה
הטמעות טקסט משמשות במגוון תרחישים נפוצים לדוגמה של AI, כמו:
אחזור מידע: אפשר להשתמש בהטמעות כדי לאחזר טקסט שדומה מבחינה סמנטית, על סמך קטע טקסט קלט.
קיבוץ: השוואה בין קבוצות של הטמעות (embeddings) יכולה לעזור לזהות מגמות מוסתרות.
מאגר וקטורים: כשאתם מעבירים תרחישי שימוש שונים של הטמעה בסביבת הייצור, מקובל לאחסן את ההטמעות במאגר וקטורים.
סיווג: אפשר לאמן מודל באמצעות הטמעות (embeddings) כדי לסווג מסמכים לקטגוריות.
מודלים של הטמעה (embedding) ב-Gemini
ב-Gemini API יש שני מודלים ליצירת הטמעות טקסט:
הטמעת טקסט היא גרסה מעודכנת של מודל ההטמעה, שמציעה גדלים גמישים של הטמעה בפחות מ-768 מאפיינים. הטמעות גמישות יוצרות מאפייני פלט קטנים יותר, ומאפשרות לחסוך בעלויות המחשוב והאחסון בלי פגיעה משמעותית בביצועים.
שימוש בהטמעות טקסט בפרויקטים או באפליקציות חדשים.