Google / EmbeddingGemma
Milvus Integrated
Compito: Incorporamento
Modalità: Testo
Metrica di Similarità: Coseno, prodotto di punti
Licenza: gemma
Dimensioni: 768
Token di Input Massimi: 2048
Prezzo: Gratis
Introduzione a EmbeddingGemma
Il modello EmbeddingGemma è un modello di embedding testuale multilingue da 308M parametri di Google, basato su Gemma 3 (con inizializzazione T5Gemma) e sviluppato utilizzando le stesse basi di ricerca alla base dei modelli Gemini. È particolarmente adatto per attività di ricerca e recupero, incluse classificazione, clustering e ricerca di similarità semantica.
EmbeddingGemm supporta oltre 100 lingue e offre dimensioni di output flessibili (da 768 fino a 128) tramite Matryoshka Representation Learning (MRL). Con una finestra di contesto da 2K token e un ingombro di memoria inferiore a 200MB quando quantizzato, EmbeddingGemma funziona in modo efficiente su hardware con risorse limitate. Può essere distribuito su dispositivi di uso quotidiano, come telefoni, laptop e tablet, rendendo le funzionalità avanzate di embedding testuale accessibili in un’ampia gamma di contesti.
Come creare embedding con EmbeddingGemma
Esistono due modi principali per generare embedding vettoriali:
- PyMilvus: l’SDK Python per Milvus che integra perfettamente il modello
EmbeddingGemma. - Libreria SentenceTransformer: la libreria Python
sentence-transformer.
Una volta generati gli embedding vettoriali, possono essere archiviati in Zilliz Cloud (un servizio di database vettoriale completamente gestito basato su Milvus) e utilizzati per la ricerca di similarità semantica. Ecco quattro passaggi chiave:
- Registrati gratuitamente per un account Zilliz Cloud.
- Configura un cluster serverless e ottieni il Public Endpoint e API Key.
- Crea una raccolta vettoriale e inserisci i tuoi embedding vettoriali.
- Esegui una ricerca semantica sugli embedding archiviati.
Crea embedding tramite PyMilvus e inseriscili in Zilliz Cloud per la ricerca semantica
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
# Load the Google EmbeddingGemma-300M model
ef = SentenceTransformerEmbeddingFunction(
"google/embeddinggemma-300m", trust_remote_code=True
)
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.",
]
# Generate embeddings for documents
docs_embeddings = ef(docs)
queries = ["When was artificial intelligence founded", "Where was Alan Turing born?"]
# Generate embeddings for queries
query_embeddings = ef(queries)
# Connect to Zilliz Cloud with Public Endpoint and API Key
client = MilvusClient(uri=ZILLIZ_PUBLIC_ENDPOINT, token=ZILLIZ_API_KEY)
COLLECTION = "embeddinggemma_300m_documents"
# Drop collection if it exists
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
# Create collection with auto-detected dimension
client.create_collection(collection_name=COLLECTION, dimension=ef.dim, auto_id=True)
# Insert documents with embeddings
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
# Search for similar documents
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
# consistency_level="Strong", # Strong consistency ensures accurate results but may increase latency
output_fields=["text"],
limit=2,
)
# Print search results
for i, query in enumerate(queries):
print(f"\nQuery: {query}")
for result in results[i]:
print(f" - {result['entity']['text']} (distance: {result['distance']:.4f})")
Per ulteriori informazioni, consulta la nostra documentazione del modello di embedding PyMilvus.
Flussi di lavoro AI senza interruzioni
Dalle embedding alla ricerca AI scalabile—Zilliz Cloud ti consente di memorizzare, indicizzare e recuperare embedding con velocità e efficienza senza pari.
Prova Zilliz Cloud gratuitamente




