Le modèle text-embedding-004
génère des représentations vectorielles continues de pointe pour les mots, les expressions et les phrases. Les représentations vectorielles continues obtenues peuvent ensuite être utilisées pour des tâches telles que la recherche sémantique, la classification de texte et le clustering, entre autres. Pour en savoir plus sur les représentations vectorielles continues, consultez notre article de recherche.
Que sont les embeddings ?
Les embeddings capturent la signification sémantique et le contexte, ce qui signifie que les embeddings "plus proches" correspondent à des textes ayant des significations similaires. Par exemple, les phrases "J'ai emmené mon chien chez le vétérinaire" et "J'ai emmené mon chat chez le vétérinaire" auraient des représentations vectorielles continues proches l'une de l'autre dans l'espace vectoriel, car elles décrivent toutes deux un contexte similaire.
Vous pouvez utiliser des représentations vectorielles continues pour comparer différents textes et comprendre leur relation. Par exemple, si les représentations vectorielles continues du texte "chat" et "chien" sont proches, vous pouvez en déduire que ces mots sont similaires en termes de sens, de contexte ou des deux. Cela permet de mettre en œuvre différents cas d'utilisation courants de l'IA.
Générer des embeddings
Utilisez la méthode embedContent
pour générer des représentations vectorielles continues de texte:
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)
Cas d'utilisation
Les embeddings de texte sont utilisés dans divers cas d'utilisation courants de l'IA, par exemple:
Récupération d'informations:vous pouvez utiliser des représentations vectorielles continues pour récupérer un texte sémantiquement similaire à partir d'un texte d'entrée.
Clustering:comparer des groupes d'embeddings peut aider à identifier des tendances cachées.
Base de données vectorielle:lorsque vous mettez en production différents cas d'utilisation des embeddings, il est courant de les stocker dans une base de données vectorielle.
Classification:vous pouvez entraîner un modèle à l'aide de représentations vectorielles continues pour classer des documents en catégories.
Modèles d'embeddings Gemini
L'API Gemini propose deux modèles qui génèrent des représentations vectorielles continues de texte:
Les embeddings de texte sont une version mise à jour du modèle d'embedding qui offre des tailles d'embedding élastiques de moins de 768 dimensions. Les représentations vectorielles continues génèrent des dimensions de sortie plus petites et peuvent réduire les coûts de calcul et de stockage avec une perte de performances mineure.
Utilisez les représentations vectorielles continues de texte pour de nouveaux projets ou applications.