הטמעות ב-Gemini API

המודל 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, כמו:

מודלים של הטמעה (embedding) ב-Gemini

ב-Gemini API יש שני מודלים ליצירת הטמעות טקסט:

הטמעת טקסט היא גרסה מעודכנת של מודל ההטמעה, שמציעה גדלים גמישים של הטמעה בפחות מ-768 מאפיינים. הטמעות גמישות יוצרות מאפייני פלט קטנים יותר, ומאפשרות לחסוך בעלויות המחשוב והאחסון בלי פגיעה משמעותית בביצועים.

שימוש בהטמעות טקסט בפרויקטים או באפליקציות חדשים.