Alibaba

Alibaba / Qwen3-Embedding-8B

Um modelo de embedding de texto com 8 bilhões de parâmetros, suporta um comprimento de contexto de 32k, abrange mais de 100 idiomas

Introdução ao Qwen3-Embedding-8B

O modelo Qwen3-Embedding-8B é o modelo de embedding de texto de 8 bilhões de parâmetros da Alibaba dentro da série Qwen3 Embedding. Construído sobre a arquitetura densa Qwen3, ele oferece suporte a um comprimento de contexto de 32k e fortes capacidades multilíngues em mais de 100 linguagens humanas e de programação, possibilitando um desempenho eficaz em recuperação de texto, busca de código e cenários multilíngues.

O Qwen3-Embedding-8B oferece desempenho de ponta em aplicações de embedding de texto e atualmente ocupa o 1º lugar no ranking multilíngue do MTEB (5 de junho de 2025), com uma pontuação de 70,58. Ele também oferece flexibilidade por meio de definições vetoriais em todas as dimensões e instruções definidas pelo usuário, permitindo que desenvolvedores adaptem o modelo a tarefas, idiomas ou requisitos de aplicação específicos.

Como criar embeddings com o Qwen3-Embedding-8B

Há duas formas principais de gerar embeddings vetoriais:

  • PyMilvus: o SDK Python para Milvus que integra perfeitamente o modelo Qwen3-Embedding-8B.
  • PAI-EAS: Um serviço gerenciado para implantar modelos personalizados como o Qwen3-Embedding-8B (para personalização avançada).

Depois que os embeddings vetoriais são gerados, eles podem ser armazenados no Zilliz Cloud (um serviço de banco de dados vetorial totalmente gerenciado desenvolvido com Milvus) e usados para busca por similaridade semântica. Aqui estão quatro etapas principais:

Criar embeddings via PyMilvus e inseri-los no Zilliz Cloud para busca 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 obter mais informações, consulte nossa documentação do Modelo de Embedding PyMilvus.