Microsoft / e5-base-v2
Milvus Integrated
Compito: Incorporazione
Modalità: Testo
Metrica di Similarità: Qualsiasi (normalizzato)
Licenza: Apache 2.0
Dimensioni: 768
Token di Input Massimi: 512
Prezzo: Gratuito
Introduzione all'incorporamento e5-base-v2
e5-base-v2 è un modello progettato per generare embedding di testo che possono essere utilizzati per vari compiti di elaborazione del linguaggio naturale (NLP), tra cui ricerca semantica, retrieval augmented generation (RAG) e clustering. Questo modello si basa su un pre-training contrastivo debolmente supervisionato ed è particolarmente efficace per la gestione di dati disordinati e di interrogazioni brevi che restituiscono brani di testo di media lunghezza.
Il modello richiede che i testi in ingresso siano preceduti da "query: " per le query e "passage: " per i passaggi. Può essere utilizzato attraverso librerie come Hugging Face's Transformers e Sentence Transformers, consentendo una facile integrazione nelle applicazioni.
Confronto tra e5-large-v2 e e5-base-v2:
| Caratteristica/Capacità | e5-base-v2 | e5-large-v2 |
| Layers | 12 | 24 |
| Dimensione dell'incorporamento | 768 | 1024 |
| Max Tokens | 512 | 512 |
| Performance | Buono per compiti generali di text embedding | Ottime prestazioni su benchmark come BEIR e MTEB, spesso superando modelli più piccoli |
| Requisiti del prefisso di ingresso | "query: " per le query, "passage: " per i passaggi | "query: " per le interrogazioni, "passage: " per i passaggi |
| Modello di collegamento | Hugging Face E5-base-v2 | Hugging Face E5-large-v2 |
Come creare le incorporazioni con e5-base-v2
Esistono due modi principali per creare incorporazioni vettoriali:
- PyMilvus: l'SDK Python per Milvus che integra perfettamente il modello
e5-base-v2. - Libreria SentenceTransformer: la libreria Python
sentence-transformer.
Una volta generate le incorporazioni vettoriali, queste possono essere archiviate in Zilliz Cloud (un servizio di database vettoriale completamente gestito da Milvus) e utilizzate per la ricerca di similarità semantica. Ecco i quattro passaggi chiave:
- Iscriviti per un account Zilliz Cloud gratuito.
- Configurare un cluster serverless e ottenere il Public Endpoint and API Key.
- Creare una collezione di vettori e inserire i propri embeddings vettoriali.
- Eseguire una ricerca semantica sugli embeddings memorizzati.
Generare embeddings vettoriali tramite PyMilvus e inserirli in Zilliz Cloud per la ricerca semantica.
da pymilvus.model.dense import SentenceTransformerEmbeddingFunction
da pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("intfloat/e5-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)
query = ["Quando è stata fondata l'intelligenza artificiale",
"Dove è nato Alan Turing?"]
# Generare embeddings per le query
query_embeddings = ef(query)
# 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 ulteriori informazioni, consultare la nostra [documentazione sul modello di inclusione di PyMilvus] (https://milvus.io/docs/embeddings.md).
Generare embeddings vettoriali tramite la libreria SentenceTransformer e inserirli in Zilliz Cloud per la ricerca semantica
da sentence_transformers import SentenceTransformer
da pymilvus import MilvusClient
model = SentenceTransformer("intfloat/e5-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 le incorporazioni 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"])
Per ulteriori informazioni, consultare SentenceTransformer documentation.
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

