Cara de abraço / all-mpnet-base-v2
Milvus Integrated
Tarefa: Incorporação
Modalidade: Texto
Métrica de Similaridade: Qualquer (Normalizado)
Licença: Apache 2.0
Dimensões: 768
Tokens Máximos de Entrada: 384
Preço: Grátis
Visão geral do modelo
O "all-mpnet-base-v2" é um codificador de frases e parágrafos curtos que transforma o texto de entrada num vetor de 768 dimensões. É uma versão refinada do modelo microsoft/mpnet-base, ajustado num conjunto de dados de mil milhões de pares de frases utilizando um objetivo de aprendizagem contrastiva. O all-mpnet-base-v2 é perfeito para tarefas como recuperação de informações, agrupamento e similaridade de frases.
Para obter mais detalhes, consulte este post: All-Mpnet-Base-V2: Melhorando a incorporação de frases com IA
Como criar embeddings usando all-mpnet-base-v2
Há duas maneiras principais de gerar embeddings vetoriais:
- PyMilvus: o SDK Python para Milvus que integra perfeitamente o modelo
all-mpnet-base-v2. - Biblioteca SentenceTransformer: a biblioteca Python
sentence-transformer.
Uma vez criados os embeddings vectoriais, estes podem ser armazenados numa base de dados vetorial como a Zilliz Cloud (uma base de dados vetorial totalmente gerida pela Milvus) e utilizada para semantic similarity search.
Aqui estão quatro etapas principais:
- Inscrever-se](https://cloud.zilliz.com/signup) para uma conta Zilliz Cloud gratuitamente.
- Configurar um cluster sem servidor](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 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.
Crie embeddings via PyMilvus e insira-os no Zilliz Cloud para pesquisa semântica
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("sentence-transformers/all-mpnet-base-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):
cliente.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"])
Consulte esta documentação para obter mais detalhes sobre a integração do PyMilvus com all-mpnet-base-v2.
Criar embeddings 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("sentence-transformers/all-mpnet-base-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=768,
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"])
Leitura adicional
- Escolhendo o modelo de incorporação correto para seus dados
- Avaliando seu modelo de incorporação
- Treinando seu próprio modelo de incorporação de texto
- Guia para principiantes sobre fragmentação e incorporação de sítios Web para as suas aplicações RAG](https://zilliz.com/learn/beginner-guide-to-website-chunking-and-embedding-for-your-genai-applications)
- O que é o RAG?
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

