Microsoft / e5-large-v2
Milvus Integrated
Tarefa: Incorporação
Modalidade: Texto
Métrica de Similaridade: Qualquer (Normalizado)
Licença: Apache 2.0
Dimensões: 1024
Tokens Máximos de Entrada: 512
Preço: Grátis
Introdução ao modelo de incorporação e5-large-v2
O modelo e5-large-v2 é uma versão melhorada do modelo e5-base-v2, proporcionando um desempenho superior em várias tarefas de processamento de linguagem natural (NLP), incluindo pesquisa semântica, geração aumentada de recuperação (RAG) e agrupamento. Baseia-se também numa pré-treino contrastiva fracamente supervisionada e é particularmente eficaz para tratar dados confusos e consultas curtas que devolvem passagens de texto de comprimento médio.
O modelo requer que os textos de entrada sejam prefixados com "query: " para consultas e "passage: " para as passagens. Pode ser utilizado através de bibliotecas como Hugging Face's Transformers e Sentence Transformers, permitindo uma fácil integração em aplicações.
Comparação entre e5-large-v2 e e5-base-v2:
| Caraterística/Capacidade | e5-base-v2 | e5-large-v2 |
| Camadas** | 12 | 24 |
| Tamanho da incorporação** | 768 | 1024 |
| Máximo de tokens** | 512 | 512 |
| Desempenho** | Bom para tarefas gerais de incorporação de texto | Forte desempenho em benchmarks como BEIR e MTEB, muitas vezes superando modelos menores |
| Requisito do prefixo de entrada** | "query: " para consultas, "passage: " para passagens | "query: " para consultas, "passage: " para passagens |
Como criar embeddings vectoriais com o modelo e5-large-v2
Existem duas formas principais de criar embeddings vectoriais:
- PyMilvus: o SDK Python para Milvus que integra perfeitamente o modelo
e5-large-v2. - Biblioteca SentenceTransformer: a biblioteca Python
sentence-transformer.
Uma vez gerados os vectores, estes podem ser armazenados na Zilliz Cloud (um serviço de base de dados vetorial totalmente gerido pela Milvus) e utilizados para pesquisa de similaridade semântica. Eis quatro passos fundamentais:
- Inscreva-se para obter uma conta Zilliz Cloud gratuitamente.
- Configurar um cluster sem servidor e obter o Ponto de extremidade público e chave de API.
- Crie uma coleção de vectores e insira os seus embeddings vectoriais.
- Execute uma pesquisa semântica nos embeddings armazenados.
Gerar embeddings vectoriais através do PyMilvus e inseri-los no Zilliz Cloud para pesquisa semântica
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("intfloat/e5-large-v2")
docs = [
"A inteligência artificial foi fundada como disciplina académica em 1956",
"Alan Turing foi a primeira pessoa a efetuar investigação substancial em IA",
"Nascido em Maida Vale, Londres, Turing foi criado no sul de Inglaterra."
]
# Gerar embeddings para os documentos
docs_embeddings = ef(docs)
consultas = ["Quando foi fundada a inteligência artificial",
"Onde nasceu Alan Turing?"]
# Gerar incorporações para consultas
consultas_embeddings = ef(consultas)
# Ligar ao Zilliz Cloud com o ponto de extremidade público e a chave da API
cliente = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents" (coleção)
if client.has_collection(nome_da_colecção=COLLECTION):
client.drop_collection(nome_da_colecção=COLLECTION)
client.create_collection(
nome_da_colecção=COLLECTION,
dimension=ef.dim,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vetor": embedding})
resultados = cliente.search(
nome_da_colecção=COLLECTION,
data=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Para mais informações, consulte a nossa PyMilvus Embedding Model documentation.
Gerar embeddings vectoriais através da biblioteca SentenceTransformer e inseri-los no Zilliz Cloud para pesquisa semântica
from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient
model = SentenceTransformer("intfloat/e5-large-v2")
docs = [
"A inteligência artificial foi fundada como disciplina académica em 1956",
"Alan Turing foi a primeira pessoa a efetuar investigação substancial em IA",
"Nascido em Maida Vale, Londres, Turing foi criado no sul de Inglaterra."
]
# Gerar embeddings para documentos
docs_embeddings = model.encode(docs, normalize_embeddings=True)
consultas = [ "Quando foi fundada a inteligência artificial",
"Onde nasceu Alan Turing?"]
# Gerar embeddings para as consultas
consultas_embeddings = model.encode(consultas, normalize_embeddings=True)
# Ligar ao Zilliz Cloud com o ponto final público e a chave da API
cliente = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents" (coleção)
if client.has_collection(nome_da_colecção=COLLECTION):
cliente.drop_collection(nome_da_colecção=COLLECTION)
client.create_collection(
nome_da_colecção=COLLECTION,
dimension=1024,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vetor": embedding})
resultados = cliente.search(
nome_da_colecção=COLLECTION,
data=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Para mais informações, consulte a SentenceTransformer documentation.
- Introdução ao modelo de incorporação e5-large-v2
- Como criar embeddings vectoriais com o modelo e5-large-v2
Conteúdo
Fluxos de trabalho de IA sem interrupções
De embeddings a busca escalável de IA—Zilliz Cloud permite armazenar, indexar e recuperar embeddings com velocidade e eficiência incomparáveis.
Experimente o Zilliz Cloud grátis

