Microsoft / e5-base-v2
Milvus Integrated
Aufgabe: Einbettung
Modalität: Text
Ähnlichkeitsmetrik: Beliebig (normalisiert)
Lizenz: Apache 2.0
Dimensionen: 768
Maximale Eingabe-Tokens: 512
Preis: Kostenlos
Einführung in die e5-base-v2-Einbettung
e5-base-v2" ist ein Modell zur Erzeugung von Texteinbettungen, das für verschiedene Aufgaben der natürlichen Sprachverarbeitung (NLP) verwendet werden kann, einschließlich semantische Suche, retrieval augmented generation (RAG) und Clustering. Dieses Modell basiert auf schwach überwachtem kontrastivem Vortraining und ist besonders effektiv bei der Verarbeitung von unübersichtlichen Daten und kurzen Abfragen, die Textpassagen mittlerer Länge liefern.
Das Modell erfordert, dass die Eingabetexte mit dem Präfix "query: " für Abfragen und "passage: " für Passagen. Es kann mit Hilfe von Bibliotheken wie Hugging Face's Transformers und Sentence Transformers verwendet werden, was eine einfache Integration in Anwendungen ermöglicht.
Vergleich zwischen e5-large-v2 und e5-base-v2:
| Merkmal/Fähigkeit | e5-base-v2 | e5-large-v2 |
| Schichten | 12 | 24 |
| Einbettungsgröße | 768 | 1024 |
| Max Token | 512 | 512 |
| Leistung | Gut für allgemeine Texteinbettungsaufgaben | Starke Leistung bei Benchmarks wie BEIR und MTEB, oft bessere Leistung als kleinere Modelle |
| Eingabe-Präfix-Anforderung | "query: " für Abfragen, "passage: " für Passagen | "query: " für Abfragen, "passage: " für Passagen |
| Modell Link | Hugging Face E5-base-v2 | Hugging Face E5-large-v2 |
Wie man Einbettungen mit e5-base-v2 erstellt
Es gibt zwei primäre Möglichkeiten, Vektoreinbettungen zu erstellen:
- PyMilvus: das Python-SDK für Milvus, das das Modell "e5-base-v2" nahtlos integriert.
- SentenceTransformer-Bibliothek: die Python-Bibliothek
sentence-transformer.
Sobald die Vektoreinbettungen generiert sind, können sie in der Zilliz Cloud (einem vollständig verwalteten Vektordatenbankdienst, der von Milvus betrieben wird) gespeichert und für die semantische Ähnlichkeitssuche verwendet werden. Dies sind die vier wichtigsten Schritte:
- Anmelden für ein kostenloses Zilliz Cloud-Konto.
- Richten Sie einen serverlosen Cluster ein und erhalten Sie den Public Endpoint and API Key.
- Erstellen Sie eine Vektorsammlung und fügen Sie Ihre Vektoreinbettungen ein.
- Lassen Sie eine semantische Suche auf den gespeicherten Einbettungen laufen.
Vektoreinbettungen über PyMilvus generieren und in die Zilliz Cloud für die semantische Suche einfügen.
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
von pymilvus importieren MilvusClient
ef = SentenceTransformerEmbeddingFunction("intfloat/e5-base-v2")
docs = [
"Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
"Alan Turing war die erste Person, die substantielle Forschungen im Bereich der KI durchführte.",
"Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Einbettungen für Dokumente generieren
docs_embeddings = ef(docs)
queries = ["Wann wurde die künstliche Intelligenz erfunden",
"Wo wurde Alan Turing geboren?"]
# Einbettungen für Abfragen generieren
abfrage_einbettungen = ef(abfragen)
# Verbindung zur Zilliz-Cloud mit öffentlichem Endpunkt und API-Schlüssel
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "Dokumente"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=ef.dim,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Weitere Informationen finden Sie in unserer PyMilvus Embedding Model Dokumentation.
Vektoreinbettungen über die SentenceTransformer-Bibliothek generieren und in die Zilliz Cloud für die semantische Suche einfügen
from sentence_transformers import SentenceTransformer
von pymilvus importieren MilvusClient
model = SentenceTransformer("intfloat/e5-base-v2")
docs = [
"Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
"Alan Turing war die erste Person, die umfangreiche Forschungen im Bereich der künstlichen Intelligenz durchführte.",
"Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Einbettungen für Dokumente generieren
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["Wann wurde die künstliche Intelligenz erfunden",
"Wo wurde Alan Turing geboren?"]
# Einbettungen für Abfragen generieren
query_embeddings = model.encode(abfragen, normalize_embeddings=True)
# Verbindung zur Zilliz Cloud mit öffentlichem Endpunkt und API-Schlüssel
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "Dokumente"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=768,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
Weitere Informationen finden Sie in der SentenceTransformer-Dokumentation.
Nahtlose KI-Workflows
Von Embeddings bis hin zu skalierbarer KI-Suche – Zilliz Cloud ermöglicht es Ihnen, Embeddings mit beispielloser Geschwindigkeit und Effizienz zu speichern, zu indizieren und abzurufen.
Zilliz Cloud kostenlos ausprobieren

