Zilliz unterstützt weiterhin KI-Anwendungsentwickler!
Kürzlich hat Zilliz eine Kooperation mit dem Zhiyuan Research Institute geschlossen, um verschiedene BGE-Open-Source-Modelle (BAAI General Embedding) in die Open-Source-Vektordatenbank Milvus zu integrieren. Dank der neu eingeführten Unterstützung für Sparse Vector (sparse vector) und Multi-vector (multi-vector) in Milvus 2.4 stehen Entwicklern zahlreiche Optionen zur Verfügung, darunter nicht nur das in der Branche weit verbreitete Dense Embedding (dichtes Vektormodell), sondern auch ... auch die Verwendung von BGE Die neu eingeführten Modelle Sparse Embedding (Sparse-Retrieval-Modell) und Reranker (Neuordnung). Entwickler können diese Tools problemlos kombinieren, um eine leistungsfähigere Retrieval-Lösung zu erstellen, die semantische Retrieval-, Volltext-Retrieval- und verfeinerte Ranking-Funktionen abdeckt.
Die Integration von BGE und Milvus verbessert umfassend die Qualität von RAG bei gleichzeitiger Wahrung der Flexibilität und kann KI-Anwendungsentwicklern besser dienen.
01.Sparse Embedding und Reranker: Neue Trends zur Verbesserung von RAG
RAG (Retrieval Augmented Generation) ist eine Technologie, die aus externen Wissensdatenbanken abgerufene Informationen nutzt, um die Genauigkeit und Zuverlässigkeit großer Sprachmodelle zu verbessern. RAG ist nachweislich in der Lage, eine Reihe von Kernproblemen, die die Anwendung großer Modelle behindern (wie Halluzinationen, schlechte Aktualität, unzureichende Fachkenntnisse, Datensicherheitsprobleme usw.), effektiv zu lösen. Die Einbettung von Modellen und Vektordatenbanken ist der Schlüssel zur Verwirklichung dieser Lösung. Bessere Modelle und Vektordatenbanken mit umfangreicheren Funktionen können die Qualität von RAG-Antworten effektiv verbessern und großen Sprachmodellen zu einem besseren Terminal-Q&A-Erlebnis verhelfen.
Aufgrund der Einschränkungen der grundlegenden Schemata für dichte Einbettung und Vektorrückruf ist der endgültige Effekt von RAG jedoch in einigen Szenarien nicht zufriedenstellend. Derzeit tendiert die Branche dazu, zwei Lösungen zu übernehmen, um die Qualität der Fragen und Antworten der RAG zu verbessern:
Option eins besteht darin, Sparse Vector und Dense Vector zu verwenden, um einen bidirektionalen Rückruf durchzuführen. Unter anderem kann Sparse Vector die Funktionen der herkömmlichen Volltextsuche abdecken und dabei helfen, bestimmte Schlüsselwörter zu identifizieren und zu erfassen, während Dense Vector die gesamten semantischen Informationen im Text effektiver erfassen kann. Durch die Integration der Ergebnisse dieser beiden Vektorrückrufe können umfangreichere und umfassendere Informationen gewonnen werden, wodurch die Wirksamkeit von RAG verbessert wird.
Option zwei: Verwenden Sie Cross-Encoder Reranker als zweite Ebene des Feinrankings. Verwenden Sie zunächst Dense Vector, Sparse Vector oder eine Kombination aus beiden für eine grobe Rangfolge. Verwenden Sie dann das Reranker-Modell, um die Ergebnisse der ersten Stufe weiter zu filtern und zu sortieren, um die Qualität der Endergebnisse zu verbessern.
Es ist erwähnenswert, dass Option eins unabhängig verwendet werden kann, d. h. die Verwendung eines regelbasierten Algorithmus zum Zusammenführen der Ergebnisse des bidirektionalen Rückrufs, wie z. B. der häufig verwendeten RRF Reciprocal Rank Fusion (RRF), oder sie kann in verwendet werden Kombination mit Option zwei, d. h. Verwendung von Cross-Encoder Reranker Merge und Neuordnung der Zwei-Wege-Ergebnisse.
02. Milvus arbeitet mit BGE zusammen, um die Qualitätsprobleme der RAG flexibel zu lösen
Milvus ist eine Open-Source-Vektordatenbank für KI-Anwendungen, die der Vektorsuche und der Verwaltung unstrukturierter Daten dient. Es wurde ursprünglich von der Firma Zilliz ins Leben gerufen und 2019 als Open Source bereitgestellt. Seit seiner Einführung ist Milvus in der KI-Entwickler-Community und bei Unternehmensanwendern beliebt und weit verbreitet. Mit mehr als 26.000 Sternen und mehr als 260 Mitwirkenden auf GitHub wurde Milvus weltweit mehr als 20 Millionen Mal heruntergeladen und installiert Eine der am weitesten verbreiteten Vektordatenbanken der Welt.
Vor nicht allzu langer Zeit veröffentlichte Xingjue, Gründer und CEO von Zilliz, auf der NVIDIA GTC-Konferenz offiziell die Milvus 2.4-Version, die als revolutionäres Upgrade in der Branche bezeichnet werden kann. Neben den heiß diskutierten GPU-basierten Vektorindizierungs- und Suchbeschleunigungsfunktionen ist auch die Unterstützung von Sparse Vector und Multi-Vector ein Highlight. Die Integration von Milvus und Zhiyuan BGE vereint nicht nur die Sparse Embedding-, Multi-Channel-Recall- und Reranker-Funktionen, die zur gleichzeitigen Verbesserung der RAG-Qualität erforderlich sind, sondern stellt Entwicklern auch mehrere Typen und mehrstufige Recall-Lösungen zur Verfügung, um Entwickler entsprechend den tatsächlichen Anforderungen zu unterstützen Anforderungen flexibel erstellen.
Das dieses Mal gemeinsam mit Milvus entwickelte BGE ist ein universelles semantisches Modell, das vom Intelligent Source Research Institute erstellt wurde. Seit seiner ersten Veröffentlichung im August 2023 hat das Zhiyuan-Team nacheinander die chinesischen und englischen Modelle BGE v1.0, v1.5 und das BGE-M3-Modell auf den Markt gebracht, das mehr als 100 Sprachen und mehrere Rückrufmethoden unterstützt. Bisher wurden die Modelle der BGE-Serie weltweit mehr als 15 Millionen Mal heruntergeladen und stehen damit an erster Stelle unter den inländischen Open-Source-KI-Modellen. Das Modell BGE-M3 gehörte einst zu den drei beliebtesten Hugging Face-Modellen. Im neuesten Milvus 2.4-Client wird eine einfache und benutzerfreundliche Funktionskapselung für das BGE-Modell bereitgestellt. Entwickler können eine Vielzahl von BGE-Open-Source-Modellen einfacher nutzen und mit der Milvus-Vektordatenbank zusammenarbeiten, um Rückruflösungen mit mehreren Kanälen und mehreren Ebenen zu erstellen und so die RAG-Qualität umfassend zu verbessern. Zu den bisher integrierten BGE-Open-Source-Modellen gehören:
Einbettungsmodell
-
BAAI/bge-m3
-
BAAI/bge-large-en-v1.5
-
BAI/bge-base-en-v1.5
-
BAY/bge-small-en-v1.5
-
BAAI/bge-large-zh-v1.5
-
BAAI/bge-base-zh-v1.5
-
BAAI/bge-small-zh-v1.5
Reranker-Modell
-
BAAI/bge-reranker-v2-m3
-
BAAI/bge-reanchor-large
-
BAAI/bge-reranker-base
03.Code-Beispielanzeige
Ab Version 2.4 hat der Milvus-Python-Client die Komponente pymilvus[model] hinzugefügt, unabhängig davon, ob es sich um eine Kombination aus Sparse Vector mit dem Mehrwegrückruf von Dense Vector oder um die Verwendung von Cross-Encoder Reranker handelt, um die Relevanz der ersten Rückrufebene zu verbessern Die von Milvus Components bereitgestellten Modelle können alle flexibel unterstützt werden.
Wenn Sie beispielsweise einfach „pymilvus[model]“ per Pip installieren, können Sie ganz einfach den vom BGE-M3-Modell generierten dichten Vektor verwenden, um eine Vektorsuche nach dem nächsten Nachbarn durchzuführen, und das BGE-Reranker-Modell verwenden, um die Ergebnisse zu verfeinern:
from pymilvus.model.hybrid import BGEM3EmbeddingFunction
from pymilvus.model.reranker import BGERerankFunction
client = MilvusClient(uri="http://localhost:19530")
embed_fn = BGEM3EmbeddingFunction(device='cuda:0')
rerank_fn = BGERerankFunction(device="cuda:0")
query = "tell me information about France."
query_vector = [embed_fn([query])["dense"][0]]
# Search for top 20 nearest neighbour vectors
retrieved_results = client.search(collection_name="my_collection", data=query_vector, limit=20, output_fields=["text"])
# Rerank the vector search results and select the top 5
final_results = rerank_fn(query, [result['entity']['text'] for result in retrieved_results[0]], top_k=5)
Darüber hinaus können weitere Fälle unter dem Link ( https://github.com/milvus-io/pymilvus/blob/master/examples/hello_hybrid_sparse_dense.py ) eingesehen werden.
04.Zukunftsausblick
Als führendes Unternehmen in der Vektordatenbankbranche hat Zilliz mit dem branchenführenden Zhiyuan Research Institute zusammengearbeitet, um eine Vielzahl von Rückruflösungen basierend auf dem Open-Source-BGE-Modell und der Milvus-Vektordatenbank zu unterstützen und dabei die Unterstützung von Sparse Embedding und Reranker zu integrieren Sehr praktisch für RAG-Entwickler.
Chen Jiang, Leiter der ökologischen Integrations- und KI-Plattform Zilliz, sagte: „Milvus wird auch in Zukunft intensiv mit Zhiyuan in der Modellforschung, Entwicklerförderung und anderen Aspekten zusammenarbeiten, um zur weiteren Popularisierung und Verbesserung von KI-Anwendungen beizutragen.“
Der Leiter des BGE-Teams am Zhiyuan Research Institute sagte: „Die Integration von BGE und Milvus bietet Community-Benutzern die Möglichkeit, schnell eine „Trinity“-Abrufpipeline (Dense Retrieval, Sparse Retrieval und Reordering) mit großem Komfort aufzubauen. Wir freuen uns auf die weitere Zusammenarbeit mit branchenführenden Unternehmen wie Zilliz, um gemeinsam KI-Anwendungsentwickler zu unterstützen. "
- Gute Nachrichten, die Milvus-Community sucht im gesamten Netzwerk nach dem „ Beichen Messenger “! ! !
- Wenn Sie Probleme mit der Verwendung von Milvus- oder Zilliz-Produkten haben, können Sie den WeChat-Assistenten „zilliz-tech“ hinzufügen, um der Kommunikationsgruppe beizutreten.
- Willkommen beim öffentlichen WeChat-Konto „Zilliz“, um die neuesten Informationen zu erhalten.