Incorporaciones en la API de Gemini

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:

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.