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.:
Informationsabruf: Mithilfe von Einbettungen können Sie semantisch ähnlichen Text für einen bestimmten Eingabetext abrufen.
Clustering: Durch den Vergleich von Gruppen von Einbettungen können Sie versteckte Trends erkennen.
Vektordatenbank: Wenn Sie verschiedene Anwendungsfälle für Einbettungen in die Produktion übernehmen, werden Einbettungen häufig in einer Vektordatenbank gespeichert.
Klassifizierung:Sie können ein Modell mithilfe von Einbettungen trainieren, um Dokumente in Kategorien zu klassifizieren.
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.