HKU NLP / instructor-large
Tâche: Intégration
Modalité: Texte
Métrique de similarité: Cosinus
Licence: Apache 2.0
Dimensions: 768
Tokens d'entrée max: 512
Prix: Gratuit
Introduction à la famille de modèles d'instructeurs
Le modèle Instructeur de NKU NLP est un modèle d'intégration de texte affiné avec des instructions. Il crée des enchâssements spécifiques à une tâche (pour la classification, la recherche, le regroupement, l'évaluation de texte, etc.) dans divers domaines (comme la science et la finance) en fournissant simplement des instructions sur la tâche - aucun réglage fin supplémentaire n'est nécessaire. Il a obtenu des résultats de pointe sur 70 tâches d'intégration !
Figure : Fonctionnement du modèle de l'instructeur] (https://assets.zilliz.com/Figure_How_the_Instructor_Model_works_2b174dc8aa.png)
Figure : Fonctionnement du modèle de l'instructeur (image de NKU NLP)
Le modèle Instructeur se décline en trois variantes : instructor-base, instructor-xl, et instructor-large. Chaque version offre différents niveaux de performance et d'évolutivité pour répondre à divers besoins d'intégration.
Introduction à instructor-large
instructor-large est le modèle d'intégration de texte de taille moyenne de la famille Instructor. Il peut générer des incorporations de texte spécifiques à une tâche ou à un domaine en fournissant des instructions en langage naturel sans autre réglage. Il est idéal pour toutes les tâches (par exemple, la classification, l'extraction, le regroupement, l'évaluation de texte, etc.) et tous les domaines (par exemple, la science, la finance, etc.). instructor-large atteint SOTA sur 70 tâches d'intégration diverses dans le benchmark MTEB.
Ses performances sont meilleures que celles de l'instructeur-base, mais moins bonnes que celles de l'instructeur-xl.
Comparaison entre l'instructeur-base, l'instructeur-xl et l'instructeur-large :
| Fonctionnalité | instructor-base | instructor-large | instructor-xl | |
|---|---|---|---|---|
| Taille des paramètres - 86 millions - 335 millions - 1,5 milliard | ||||
| Dimension d'intégration | 768 | 768 | 768 | 768 |
| Score MTEB moyen MTEB Score | 55.9 | 58.4 | 58.8 |
Comment créer des encastrements vectoriels avec le modèle instructeur-grand
Nous recommandons d'utiliser la bibliothèque InstructorEmbedding pour créer des vector embeddings.
Une fois les embeddings vectoriels générés, ils peuvent être stockés dans Zilliz 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. 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 InstructorEmbedding Library et les insérer dans Zilliz Cloud pour une recherche sémantique.
from InstructorEmbedding import INSTRUCTOR
from pymilvus import MilvusClient
model = INSTRUCTOR('hkunlp/instructor-large')
docs = [["Représenter le document Wikipedia pour le retrouver : ", "L'intelligence artificielle a été fondée en tant que discipline universitaire en 1956"],
["Représenter le document Wikipédia à retrouver : ", "Alan Turing a été la première personne à mener des recherches substantielles sur l'intelligence artificielle."],
["Représenter le document Wikipédia pour le retrouver : ", "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 = [["Représenter la question Wikipédia pour récupérer les documents d'appui : ", "Quand l'intelligence artificielle a-t-elle été fondée"],
["Représenter la question Wikipédia pour retrouver des documents d'appui : ", "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"])
- Introduction à la famille de modèles d'instructeurs
- Introduction à instructor-large
- Comment créer des encastrements vectoriels avec le modèle instructeur-grand
Contenu
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

