Alibaba

Alibaba / Qwen3-Embedding-8B

Un modello di embedding testuale da 8 miliardi di parametri, supporta una lunghezza di contesto di 32k, copre oltre 100 lingue

Introduzione a Qwen3-Embedding-8B

Il modello Qwen3-Embedding-8B è il modello di embedding testuale da 8 miliardi di parametri di Alibaba all’interno della serie Qwen3 Embedding. Basato sull’architettura densa Qwen3, supporta una lunghezza di contesto di 32k e offre solide capacità multilingue in oltre 100 linguaggi umani e di programmazione, consentendo prestazioni efficaci nel recupero di testi, nella ricerca di codice e negli scenari cross-lingual.

Qwen3-Embedding-8B offre prestazioni all’avanguardia nelle applicazioni di embedding testuale e attualmente si classifica al n.1 nella classifica multilingue MTEB (5 giugno 2025) con un punteggio di 70,58. Offre inoltre flessibilità tramite definizioni vettoriali su tutte le dimensioni e istruzioni definite dall’utente, consentendo agli sviluppatori di adattare il modello a compiti, lingue o requisiti applicativi specifici.

Come creare embedding con Qwen3-Embedding-8B

Esistono due modi principali per generare embedding vettoriali:

  • PyMilvus: l’SDK Python per Milvus che integra perfettamente il modello Qwen3-Embedding-8B.
  • PAI-EAS: un servizio gestito per distribuire modelli personalizzati come Qwen3-Embedding-8B (per personalizzazioni avanzate).

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:

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 Qwen3-Embedding-8B model
ef = SentenceTransformerEmbeddingFunction(
    "Qwen/Qwen3-Embedding-8B", 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 = "qwen3_embedding_8b_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.