HKU NLP / instructor-large
Aufgabe: Einbettung
Modalität: Text
Ähnlichkeitsmetrik: Kosinus
Lizenz: Apache 2.0
Dimensionen: 768
Maximale Eingabe-Tokens: 512
Preis: Kostenlos
Einführung in die Instructor Model Familie
Das Instructor-Modell von NKU NLP ist ein mit Anweisungen abgestimmtes Texteinbettungsmodell. Es erstellt aufgabenspezifische Einbettungen (für Klassifizierung, Retrieval, Clustering, Textbewertung usw.) in verschiedenen Bereichen (z. B. Wissenschaft und Finanzen), indem es einfach Anweisungen für die Aufgabe gibt - eine zusätzliche Feinabstimmung ist nicht erforderlich. Es hat bei 70 Einbettungsaufgaben Spitzenergebnisse erzielt!
Abbildung Wie das Instructor Model funktioniert
Abbildung: Funktionsweise des Instructor-Modells (Bild von NKU NLP)
Das Instructor-Modell gibt es in drei Varianten: instructor-base, instructor-xl und instructor-large. Jede Version bietet ein unterschiedliches Maß an Leistung und Skalierbarkeit, um verschiedenen Einbettungsanforderungen gerecht zu werden.
Einführung in instructor-large
instructor-large ist das mittelgroße Texteinbettungsmodell der Instructor-Modellfamilie. Es kann aufgabenspezifische und domänenspezifische Texteinbettungen generieren, indem es natürlichsprachliche Anweisungen ohne weitere Feinabstimmung liefert. Es ist ideal für alle Aufgaben (z.B. Klassifikation, Retrieval, Clustering, Textbewertung, etc.) und Domänen (z.B. Wissenschaft, Finanzen, etc.). instructor-large erreicht SOTA bei 70 verschiedenen Einbettungsaufgaben im MTEB-Benchmark.
Er schneidet besser ab als instructor-base, aber schlechter als instructor-xl.
Vergleich von instructor-base, instructor-xl, und instructor-large:
| Feature | instructor-base | instructor-large | instructor-xl |
|---|---|---|---|
| Parametergröße | 86 Millionen | 335 Millionen | 1,5 Milliarden |
| Einbettungsdimension | 768 | 768 | 768 |
| Avg. MTEB-Wert | 55.9 | 58.4 | 58.8 |
So erstellen Sie Vektoreinbettungen mit dem Lehrer-Großmodell
Wir empfehlen die Verwendung der Bibliothek InstructorEmbedding zur Erstellung von Vektoreinbettungen.
Sobald die Vektoreinbettungen erstellt sind, können sie in der Zilliz Cloud (ein vollständig verwalteter 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.
Erzeugen Sie Vektoreinbettungen über die InstructorEmbedding Library und fügen Sie sie in die Zilliz Cloud für die semantische Suche ein.
von InstructorEmbedding importieren INSTRUCTOR
von pymilvus importieren MilvusClient
model = INSTRUCTOR('hkunlp/instructor-large')
docs = [["Stellen Sie das Wikipedia-Dokument zum Abruf bereit: ", "Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet."],
["Stellen Sie das Wikipedia-Dokument zum Abruf bereit: ", "Alan Turing war der erste Mensch, der umfangreiche Forschungen im Bereich der Künstlichen Intelligenz betrieb."],
["Stellen Sie das Wikipedia-Dokument zum Abruf bereit: ", "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 = [["Stellen Sie die Wikipedia-Frage für die Suche nach unterstützenden Dokumenten dar: "Wann wurde die künstliche Intelligenz gegründet"],
["Stellen Sie die Wikipedia-Frage zum Abrufen von Belegen dar: ", "Wo wurde Alan Turing geboren?"]]
# Erzeugen von Einbettungen für Abfragen
query_embeddings = model.encode(queries, 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"])
- Einführung in die Instructor Model Familie
- Einführung in instructor-large
- So erstellen Sie Vektoreinbettungen mit dem Lehrer-Großmodell
Inhalte
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

