Microsoft / e5-base-v2
Milvus Integrated
Tâche: Intégration
Modalité: Texte
Métrique de similarité: Tous (normalisés)
Licence: Apache 2.0
Dimensions: 768
Tokens d'entrée max: 512
Prix: Gratuit
Introduction à l'intégration e5-base-v2
e5-base-v2 est un modèle conçu pour générer des enchâssements de texte qui peuvent être utilisés pour diverses tâches de traitement du langage naturel (NLP), y compris la recherche sémantique, la génération augmentée de recherche (RAG) et le regroupement. Ce modèle est basé sur un pré-entraînement contrastif faiblement supervisé et est particulièrement efficace pour traiter les données désordonnées et les requêtes courtes qui renvoient des passages de texte de longueur moyenne.
Le modèle exige que les textes d'entrée soient préfixés par "query : " pour les requêtes et " passage : " pour les passages. Il peut être utilisé par le biais de bibliothèques telles que Hugging Face's Transformers et Sentence Transformers, ce qui permet de l'intégrer facilement dans des applications.
Comparaison entre e5-large-v2 et e5-base-v2 :
| e5-base-v2 | e5-large-v2 | e5-base-v2 | e5-large-v2 | e5-large-v2 |
| Couches | 12 | 24 | ||
| Taille de l'emboîtement ** 768 | 1024 | |||
| Taille d'emboîtement** - 768 - 1024 - 768 - 1024 - 768 - 1024 - 768 - 1024 - 768 - 1024 | ||||
| Les performances de ce modèle sont bonnes pour les tâches générales d'intégration de texte. Il est très performant sur des benchmarks tels que BEIR et MTEB, et surpasse souvent les modèles plus petits. | ||||
| Exigences en matière de préfixe d'entrée** | "query : " pour les requêtes, " passage : " pour les passages | "query : " pour les requêtes, "passage : " pour les passages. | ||
| Hugging Face E5-base-v2 | Hugging Face E5-large-v2 |
Comment créer des embeddings avec e5-base-v2
Il existe deux façons principales de créer des embeddings vectoriels :
- PyMilvus : le SDK Python pour Milvus qui intègre de manière transparente le modèle
e5-base-v2. - Bibliothèque SentenceTransformer : la bibliothèque Python
sentence-transformer.
Une fois les encastrements vectoriels générés, ils peuvent être stockés dans [Zilliz Cloud] (https://zilliz.com/cloud) (un service de base de données vectorielles entièrement géré par Milvus) et utilisés pour [la recherche de similarité sémantique] (https://zilliz.com/glossary/semantic-search). Voici les quatre étapes clés :
- Sign up pour un compte Zilliz Cloud gratuit.
- Configurer un cluster sans serveur et obtenir le Point de terminaison public et la clé API.
- Créer une collection de vecteurs et insérer vos embeddings vectoriels.
- Exécutez une recherche sémantique sur les embeddings stockés.
Générer des embeddings vectoriels via PyMilvus et les insérer dans Zilliz Cloud pour une recherche sémantique.
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("intfloat/e5-base-v2")
docs = [
"L'intelligence artificielle a été fondée en tant que discipline universitaire en 1956,
"Alan Turing a été la première personne à mener des recherches substantielles sur l'IA,
"Né à Maida Vale, Londres, Turing a grandi dans le sud de l'Angleterre."
]
# Générer des embeddings pour les documents
docs_embeddings = ef(docs)
queries = ["Quand l'intelligence artificielle a-t-elle été fondée ?
"Où est né Alan Turing ?"]
# Générer des embeddings pour les requêtes
query_embeddings = ef(queries)
# Se connecter au nuage Zilliz avec le point de terminaison public et la clé API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION) :
client.drop_collection(nom_de_la_collection=COLLECTION)
client.create_collection(
nom_de_la_collection=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(
nom_de_la_collection=COLLECTION,
data=query_embeddings,
niveau de cohérence="Fort",
output_fields=["text"])
Pour plus d'informations, consultez notre [documentation PyMilvus Embedding Model] (https://milvus.io/docs/embeddings.md).
Générer des embeddings vectoriels via la bibliothèque SentenceTransformer et les insérer dans Zilliz Cloud pour la recherche sémantique.
from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient
model = SentenceTransformer("intfloat/e5-base-v2")
docs = [
"L'intelligence artificielle a été fondée en tant que discipline universitaire en 1956,
"Alan Turing a été la première personne à mener des recherches substantielles sur l'intelligence artificielle,
"Né à Maida Vale, Londres, Turing a grandi dans le sud de l'Angleterre."
]
# Générer des embeddings pour les documents
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["Quand l'intelligence artificielle a-t-elle été fondée ?
"Où est né Alan Turing ?"]
# Générer des embeddings pour les requêtes
query_embeddings = model.encode(queries, normalize_embeddings=True)
# Se connecter au nuage Zilliz avec le point de terminaison public et la clé API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION) :
client.drop_collection(nom_de_la_collection=COLLECTION)
client.create_collection(
nom_de_la_collection=COLLECTION,
dimension=768,
auto_id=True)
pour doc, embedding dans zip(docs, docs_embeddings) :
client.insert(COLLECTION, {"text" : doc, "vector" : embedding})
results = client.search(
nom_de_la_collection=COLLECTION,
data=query_embeddings,
niveau de cohérence="Fort",
output_fields=["text"])
Pour plus d'informations, consultez [SentenceTransformer documentation] (https://sbert.net/docs/sentence_transformer/pretrained_models.html).
Workflows IA fluides
Des embeddings à la recherche IA évolutive - Zilliz Cloud vous permet de stocker, indexer et récupérer des embeddings avec une vitesse et une efficacité inégalées.
Essayer Zilliz Cloud gratuitement

