Viso abbracciato / all-mpnet-base-v2
Milvus Integrated
Compito: Incorporazione
Modalità: Testo
Metrica di Similarità: Qualsiasi (normalizzato)
Licenza: Apache 2.0
Dimensioni: 768
Token di Input Massimi: 384
Prezzo: Gratuito
Panoramica del modello
Il modello "all-mpnet-base-v2" è un codificatore di frasi e paragrafi brevi che trasforma il testo in ingresso in un vettore a 768 dimensioni. È una versione raffinata del modello microsoft/mpnet-base, messa a punto su un set di dati di 1 miliardo di coppie di frasi utilizzando un obiettivo di apprendimento contrastivo. all-mpnet-base-v2 è perfetto per compiti come il recupero di informazioni, il clustering e la similarità delle frasi.
Per maggiori dettagli, consultate questo post: All-Mpnet-Base-V2: Enhancing Sentence Embedding with AI
Come creare embeddings usando all-mpnet-base-v2
Esistono due modi principali per generare embeddings vettoriali:
- PyMilvus: l'SDK Python per Milvus che integra perfettamente il modello
all-mpnet-base-v2. - Libreria SentenceTransformer: la libreria Python
sentence-transformer.
Una volta create le incorporazioni vettoriali, queste possono essere memorizzate in un database vettoriale come Zilliz Cloud (un database vettoriale completamente gestito da Milvus) e utilizzate per la ricerca di similarità semantica.
Ecco i quattro passaggi chiave:
- Iscriversi per un account Zilliz Cloud gratuito.
- Configurare un cluster serverless](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) e ottenere Endpoint pubblico e chiave API.
- Creare una collezione di vettori e inserire gli embeddings vettoriali.
- Eseguire una ricerca semantica sugli embeddings memorizzati.
Creare embeddings tramite PyMilvus e inserirli in Zilliz Cloud per la ricerca semantica.
da pymilvus.model.dense import SentenceTransformerEmbeddingFunction
da pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("sentence-transformers/all-mpnet-base-v2")
docs = [
"L'intelligenza artificiale è stata fondata come disciplina accademica nel 1956",
"Alan Turing è stato il primo a condurre una ricerca sostanziale sull'intelligenza artificiale",
"Nato a Maida Vale, Londra, Turing è cresciuto nel sud dell'Inghilterra".
]
# Generare le incorporazioni per i documenti
docs_embeddings = ef(docs)
queries = ["Quando è stata fondata l'intelligenza artificiale",
"Dove è nato Alan Turing?"]
# Generare embeddings per le query
query_embeddings = ef(queries)
# Connettersi a Zilliz Cloud con l'endpoint pubblico e la chiave API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLEZIONE = "documenti"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(nome_raccolta=COLLEZIONE)
client.create_collection(
nome_collezione=COLLEZIONE,
dimensione=ef.dim,
auto_id=True)
per doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
risultati = client.search(
nome_collezione=COLLEZIONE,
dati=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Per maggiori dettagli su PyMilvus integration with all-mpnet-base-v2, consultare la documentazione.
Creare embeddings tramite la libreria SentenceTransformer e inserirli in Zilliz Cloud per la ricerca semantica
da sentence_transformers importare SentenceTransformer
da pymilvus import MilvusClient
model = SentenceTransformer("sentence-transformers/all-mpnet-base-v2")
docs = [
"L'intelligenza artificiale è stata fondata come disciplina accademica nel 1956",
"Alan Turing è stato il primo a condurre una ricerca sostanziale sull'intelligenza artificiale",
"Nato a Maida Vale, Londra, Turing è cresciuto nel sud dell'Inghilterra".
]
# Generare le incorporazioni per i documenti
docs_embeddings = model.encode(docs, normalize_embeddings=True)
query = ["Quando è stata fondata l'intelligenza artificiale",
"Dove è nato Alan Turing?"]
# Generare embeddings per le query
query_embeddings = model.encode(queries, normalize_embeddings=True)
# Connettersi a Zilliz Cloud con l'endpoint pubblico e la chiave API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLEZIONE = "documenti"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(nome_raccolta=COLLEZIONE)
client.create_collection(
nome_collezione=COLLEZIONE,
dimensione=768,
auto_id=True)
per doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
risultati = client.search(
nome_collezione=COLLEZIONE,
dati=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Ulteriori letture
Flussi di lavoro AI senza interruzioni
Dalle embedding alla ricerca AI scalabile—Zilliz Cloud ti consente di memorizzare, indicizzare e recuperare embedding con velocità e efficienza senza pari.
Prova Zilliz Cloud gratuitamente

