Google

Google / gemini-Embedding-2

El primer modelo de embeddings multimodal nativo de Google que admite más de 100 idiomas en texto, imágenes, video, audio y documentos con hasta 3072 dimensiones de salida.

Introducción al modelo gemini-embedding-2

gemini-embedding-2-preview es el primer modelo de embeddings multimodal nativo de Google que crea embeddings con hasta 3072 dimensiones. En comparación con otros modelos de embeddings de Google, como text-embedding-004 y gemini-embedding-exp-03-07, Gemini Embedding 2 admite múltiples modalidades — texto, imágenes, videos, audio y documentos — en un espacio de embeddings unificado en más de 100 idiomas, lo que lo hace ideal para aplicaciones de RAG multimodal y búsqueda semántica.

Veamos rápidamente algunos conceptos básicos.

ModeloDimensionesTokens máximosIdiomasPrecio
gemini-embedding-2-preview3072 (admite MRL)8,192100+$0.20 / 1M tokens de texto
gemini-embedding-exp-03-073072 (admite MRL)8,192Multilingüe$0.15 / 1M tokens
text-embedding-0047682,048Inglés$0.025 / 1M caracteres

Cómo usar el modelo gemini-embedding-2

Hay dos formas principales de usar Gemini Embedding 2 para generar embeddings vectoriales:

  • PyMilvus: el SDK de Python para Milvus que integra sin problemas el modelo Gemini Embedding 2.
  • Google Gemini API: el SDK de Python ofrecido por Google (google-genai).

Estos métodos permiten a los desarrolladores incorporar fácilmente capacidades avanzadas de embeddings multimodales en sus aplicaciones.

Una vez generados los embeddings vectoriales, pueden almacenarse en Zilliz Cloud (un servicio de base de datos vectorial completamente gestionado impulsado por Milvus) y usarse para búsqueda por similitud semántica. Estos son cuatro pasos clave:

  1. Regístrate para obtener una cuenta de Zilliz Cloud gratis.
  2. Configura un clúster serverless y obtén el Endpoint público y la clave API.
  3. Crea una colección vectorial e inserta tus embeddings vectoriales.
  4. Ejecuta una búsqueda semántica en los embeddings almacenados.

Generar embeddings mediante Google Gemini API e insertarlos en Zilliz Cloud para búsqueda semántica

from google import genai
from pymilvus import MilvusClient

GEMINI_API_KEY = "your-gemini-api-key"
gemini_client = genai.Client(api_key=GEMINI_API_KEY)

# Generate embeddings for documents
docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]

doc_result = gemini_client.models.embed_content(
    model="gemini-embedding-2-preview",
    contents=docs,
)
doc_embeddings = [e.values for e in doc_result.embeddings]

# Generate embeddings for queries
queries = ["When was artificial intelligence founded",
           "Where was Alan Turing born?"]

query_result = gemini_client.models.embed_content(
    model="gemini-embedding-2-preview",
    contents=queries,
)
query_embeddings = [e.values for e in query_result.embeddings]

# Connect to Zilliz Cloud with Public Endpoint and API Key
milvus_client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if milvus_client.has_collection(collection_name=COLLECTION):
    milvus_client.drop_collection(collection_name=COLLECTION)
milvus_client.create_collection(
    collection_name=COLLECTION,
    dimension=3072,
    auto_id=True)

for doc, embedding in zip(docs, doc_embeddings):
    milvus_client.insert(COLLECTION, {"text": doc, "vector": embedding})

results = milvus_client.search(
    collection_name=COLLECTION,
    data=query_embeddings,
    output_fields=["text"])

Para obtener más información, consulta la guía de Gemini Embedding de Google.