El modelo text-embedding-004
genera incorporaciones de vanguardia para palabras, frases y oraciones. Las incorporaciones resultantes se pueden usar para tareas como la búsqueda semántica, la clasificación de texto y el agrupamiento, entre muchas otras. Para obtener más información sobre las incorporaciones, lee nuestro artículo de investigación.
¿Qué son los embeddings?
Las incorporaciones capturan el significado y el contexto semánticos, lo que genera texto con significados similares que tienen incorporaciones “más cercanas”. Por ejemplo, las oraciones "Llevé a mi perro al veterinario" y "Llevé a mi gato al veterinario" tendrían incorporaciones que están cerca unas de otras en el espacio vectorial, ya que ambas describen un contexto similar.
Puedes usar las incorporaciones para comparar diferentes textos y comprender cómo se relacionan. Por ejemplo, si las incorporaciones del texto “gato” y “perro” están juntas, puedes inferir que estas palabras son similares en significado, contexto o ambos. Esto permite una variedad de casos de uso comunes de la IA.
Genera embeddings
Usa el método embedContent
para generar incorporaciones de texto:
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)
Casos de uso
Las incorporaciones de texto se usan en una variedad de casos de uso comunes de IA, como los siguientes:
Recuperación de información: Puedes usar incorporaciones para recuperar texto similar semánticamente a partir de un texto de entrada.
Agrupación: Comparar grupos de incorporaciones puede ayudar a identificar tendencias ocultas.
Base de datos de vectores: A medida que llevas diferentes casos de uso de las incorporaciones a producción, es común almacenarlas en una base de datos de vectores.
Clasificación: Puedes entrenar un modelo con incorporaciones para clasificar los documentos en categorías.
Modelos de incorporaciones de Gemini
La API de Gemini ofrece dos modelos que generan embeddings de texto:
Las incorporaciones de texto son una versión actualizada del modelo de incorporación que ofrece tamaños de incorporación elásticos de menos de 768 dimensiones. Las incorporaciones elásticas generan dimensiones de salida más pequeñas y, potencialmente, ahorran costos de procesamiento y almacenamiento con una pérdida de rendimiento menor.
Usa incorporaciones de texto para proyectos o aplicaciones nuevos.