Einbettungen in der Gemini API

Das text-embedding-004-Modell generiert moderne Einbettungen für Wörter, Wortgruppen und Sätze. Die resultierenden Einbettungen können dann für Aufgaben wie die semantische Suche, die Textklassifizierung und das Clustering verwendet werden. Weitere Informationen zu Einbettungen finden Sie in unserem Forschungspapier.

Was sind Einbettungen?

Einbettungen erfassen die semantische Bedeutung und den Kontext. Dadurch haben Texte mit ähnlicher Bedeutung „nähere“ Einbettungen. Die Sätze „Ich habe meinen Hund zum Tierarzt gebracht“ und „Ich habe meine Katze zum Tierarzt gebracht“ würden beispielsweise Einbettungen haben, die im Vektorraum nahe beieinander liegen, da sie einen ähnlichen Kontext beschreiben.

Mithilfe von Einbettungen können Sie verschiedene Texte vergleichen und ihre Beziehung zueinander ermitteln. Wenn sich die Einbettungen der Wörter „Katze“ und „Hund“ beispielsweise nahe beieinander befinden, können Sie daraus schließen, dass diese Wörter ähnlich sind – entweder in Bezug auf ihre Bedeutung oder ihren Kontext oder beides. Dies ermöglicht eine Vielzahl von alltäglichen KI-Anwendungsfällen.

Einbettungen generieren

Verwenden Sie die embedContent-Methode, um Texteinbettungen zu generieren:

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?"}]}
    }'

Ok

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)

Anwendungsfälle

Text-Embeddings werden in einer Vielzahl von gängigen KI-Anwendungsfällen eingesetzt, z. B.:

Gemini-Embeddings-Modelle

Die Gemini API bietet zwei Modelle, mit denen Text-Embeddings generiert werden:

Text Embeddings ist eine aktualisierte Version des Einbettungsmodells, die elastische Einbettungsgrößen unter 768 Dimensionen bietet. Mit elastischen Einbettungen werden kleinere Ausgabedimensionen generiert und Sie können bei geringfügigen Leistungseinbußen möglicherweise Rechen- und Speicherkosten sparen.

Verwenden Sie Texteinbettungen für neue Projekte oder Anwendungen.