Google

Google / gemini-Embedding-2

Le premier modèle d’embedding nativement multimodal de Google, prenant en charge plus de 100 langues pour le texte, les images, la vidéo, l’audio et les documents, avec jusqu’à 3072 dimensions de sortie.

Introduction au modèle gemini-embedding-2

gemini-embedding-2-preview est le premier modèle d’embedding nativement multimodal de Google, qui crée des embeddings comportant jusqu’à 3072 dimensions. Comparé aux autres modèles d’embedding de Google, comme text-embedding-004 et gemini-embedding-exp-03-07, Gemini Embedding 2 prend en charge plusieurs modalités — texte, images, vidéos, audio et documents — dans un espace d’embedding unifié couvrant plus de 100 langues, ce qui le rend idéal pour les applications de RAG multimodal et de recherche sémantique.

Jetons un rapide coup d’œil à quelques notions de base.

ModèleDimensionsNombre max. de tokensLanguesPrix
gemini-embedding-2-preview3072 (prend en charge MRL)8,192100+0,20 $ / 1M de tokens de texte
gemini-embedding-exp-03-073072 (prend en charge MRL)8,192Multilingue0,15 $ / 1M de tokens
text-embedding-0047682,048Anglais0,025 $ / 1M de caractères

Comment utiliser le modèle gemini-embedding-2

Il existe deux façons principales d’utiliser Gemini Embedding 2 pour générer des embeddings vectoriels :

  • PyMilvus : le SDK Python pour Milvus, qui intègre de manière transparente le modèle Gemini Embedding 2.
  • Google Gemini API : le SDK Python proposé par Google (google-genai).

Ces méthodes permettent aux développeurs d’intégrer facilement des capacités avancées d’embedding multimodal dans leurs applications.

Une fois les embeddings vectoriels générés, ils peuvent être stockés dans Zilliz Cloud (un service de base de données vectorielle entièrement managé, propulsé par Milvus) et utilisés pour la recherche par similarité sémantique. Voici quatre étapes clés :

  1. Inscrivez-vous gratuitement pour obtenir un compte Zilliz Cloud.
  2. Configurez un cluster serverless et obtenez le Public Endpoint et l’API Key.
  3. Créez une collection vectorielle et insérez vos embeddings vectoriels.
  4. Exécutez une recherche sémantique sur les embeddings stockés.

Générer des embeddings via Google Gemini API et les insérer dans Zilliz Cloud pour la recherche sémantique

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"])

Pour plus d’informations, consultez le guide de Google sur Gemini Embedding.