Alibaba

Alibaba / Qwen3-Embedding-8B

Un modelo de embeddings de texto de 8 mil millones de parámetros, admite una longitud de contexto de 32k, cubre más de 100 idiomas

Introducción a Qwen3-Embedding-8B

El modelo Qwen3-Embedding-8B es el modelo de embeddings de texto de 8 mil millones de parámetros de Alibaba dentro de la serie Qwen3 Embedding. Construido sobre la arquitectura densa Qwen3, admite una longitud de contexto de 32k y ofrece sólidas capacidades multilingües en más de 100 idiomas humanos y de programación, lo que permite un rendimiento eficaz en recuperación de texto, búsqueda de código y escenarios interlingües.

Qwen3-Embedding-8B ofrece un rendimiento de vanguardia en aplicaciones de embeddings de texto y actualmente ocupa el puesto n.º 1 en la clasificación multilingüe MTEB (5 de junio de 2025) con una puntuación de 70,58. También ofrece flexibilidad mediante definiciones vectoriales en todas las dimensiones e instrucciones definidas por el usuario, lo que permite a los desarrolladores adaptar el modelo a tareas, idiomas o requisitos de aplicación específicos.

Cómo crear embeddings con Qwen3-Embedding-8B

Hay dos formas principales de generar embeddings vectoriales:

  • PyMilvus: el SDK de Python para Milvus que integra sin problemas el modelo Qwen3-Embedding-8B.
  • PAI-EAS: un servicio gestionado para desplegar modelos personalizados como Qwen3-Embedding-8B (para personalización avanzada).

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

Crear embeddings mediante PyMilvus e insertarlos en Zilliz Cloud para búsqueda semántica

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

Para obtener más información, consulta nuestra documentación del modelo de incrustación de PyMilvus.