Améliorez considérablement la qualité de RAG ! Zilliz s'associe à Zhiyuan pour intégrer Sparse Embedding et Reranke

Zilliz continue de donner du pouvoir aux développeurs d'applications d'IA !

Récemment, Zilliz a conclu une coopération avec l'Institut de recherche Zhiyuan pour intégrer divers modèles open source BGE (BAAI General Embedding) à la base de données vectorielles open source Milvus. Grâce au nouveau support Sparse Vector (vecteur clairsemé) et Multi-vecteur (multi-vecteur) dans Milvus 2.4, les développeurs disposent d'une variété d'options, y compris non seulement le Dense Embedding (modèle vectoriel dense) largement utilisé dans l'industrie, mais également l'utilisation de BGE. Les modèles Sparse Embedding (modèle de récupération clairsemé) et Reranker (réorganisation) récemment lancés. Les développeurs peuvent facilement combiner ces outils pour créer une solution de rappel plus puissante, couvrant la récupération sémantique, la récupération de texte intégral et des capacités de classement raffinées.

L'intégration de BGE et Milvus améliore considérablement la qualité de RAG tout en conservant la flexibilité et peut mieux servir les développeurs d'applications d'IA.

01.Sparse Embedding et Reranker : nouvelles tendances dans l'amélioration de RAG

RAG (Retrieval Augmented Generation) est une technologie qui utilise des informations extraites de bases de connaissances externes pour améliorer la précision et la fiabilité des grands modèles de langage. Il a été prouvé que RAG est capable de résoudre efficacement une série de problèmes fondamentaux qui entravent l'application de grands modèles (tels que les hallucinations, le manque de rapidité, les connaissances insuffisantes du domaine professionnel, les problèmes de sécurité des données, etc.). L'intégration de modèles et de bases de données vectorielles est la clé pour réaliser cette solution. De meilleurs modèles et bases de données vectorielles dotées de fonctions plus riches peuvent améliorer efficacement la qualité des réponses RAG et aider les grands modèles de langage à obtenir une meilleure expérience de questions-réponses sur le terminal.

Cependant, en raison des limitations des schémas de base d'intégration dense et de rappel vectoriel, l'effet final de RAG n'est pas satisfaisant dans certains scénarios. À l'heure actuelle, l'industrie a tendance à adopter deux solutions pour améliorer la qualité des questions-réponses de RAG :

La première option consiste à utiliser Sparse Vector et Dense Vector pour effectuer un rappel bidirectionnel. Parmi eux, Sparse Vector peut couvrir les capacités de la recherche en texte intégral traditionnelle et aider à identifier et capturer des mots-clés spécifiques, tandis que Dense Vector peut capturer plus efficacement les informations sémantiques globales du texte. En intégrant les résultats de ces deux rappels de vecteurs, des informations plus riches et plus complètes peuvent être obtenues, améliorant ainsi l'efficacité du RAG.

Deuxième option, utilisez Cross-Encoder Reranker comme deuxième couche de classement précis. Tout d'abord, utilisez Dense Vector, Sparse Vector ou une combinaison des deux pour un classement approximatif ; puis utilisez le modèle Reranker pour filtrer et trier davantage les résultats de la première étape afin d'améliorer la qualité des résultats finaux.

Il convient de noter que la première option peut être utilisée indépendamment, c'est-à-dire en utilisant un algorithme basé sur des règles pour fusionner les résultats du rappel bidirectionnel, tel que la fusion de rangs réciproques (RRF) RRF couramment utilisée, ou elle peut être utilisée dans combinaison avec l'option deux, c'est-à-dire utiliser Cross-Encoder Reranker Merge et réorganiser les résultats bidirectionnels.

02.Milvus s'associe à BGE pour résoudre de manière flexible les problèmes de qualité de RAG

Milvus est une base de données vectorielles open source pour les applications d'IA, servant la recherche vectorielle et la gestion de données non structurées. Il a été initialement lancé par la société Zilliz et open source en 2019. Depuis son lancement, Milvus est devenu populaire et largement adopté parmi la communauté des développeurs d'IA et les utilisateurs d'entreprise. Avec plus de 26 000 étoiles et plus de 260 contributeurs sur GitHub, Milvus a été téléchargé et installé plus de 20 millions de fois dans le monde, devenant ainsi un outil incontournable. L'une des bases de données vectorielles les plus utilisées au monde.

Il n'y a pas si longtemps, le fondateur et PDG de Zilliz, Xingjue, a officiellement publié la version Milvus 2.4 lors de la conférence NVIDIA GTC, qui peut être qualifiée de mise à niveau révolutionnaire dans l'industrie. En plus des capacités d'indexation vectorielle et d'accélération de recherche basées sur GPU, très discutées, la prise en charge de Sparse Vector et Multi-Vector est également un point fort. L'intégration de Milvus et Zhiyuan BGE rassemble non seulement les capacités Sparse Embedding, de rappel multicanal et de Reranker nécessaires pour améliorer la qualité RAG en même temps, mais fournit également aux développeurs plusieurs types et solutions de rappel multi-niveaux pour aider les développeurs en fonction des besoins réels. besoins. Créez des applications d’IA de manière flexible.

Le BGE développé conjointement avec Milvus cette fois est un modèle sémantique universel créé par l'Intelligent Source Research Institute. Depuis sa première sortie en août 2023, l'équipe Zhiyuan a lancé successivement les modèles chinois et anglais BGE v1.0, v1.5 et le modèle BGE-M3 qui prend en charge plus de 100 langues et plusieurs méthodes de rappel. Jusqu'à présent, les modèles de la série BGE ont été téléchargés plus de 15 millions de fois dans le monde, se classant au premier rang des modèles d'IA open source nationaux. Le modèle BGE-M3 se classait autrefois parmi les trois modèles Hugging Face les plus populaires. Dans le dernier client Milvus 2.4, une encapsulation de fonctions simple et facile à utiliser est fournie pour le modèle BGE. Les développeurs peuvent plus facilement utiliser une variété de modèles open source BGE et coopérer avec la base de données vectorielles Milvus pour créer des solutions de rappel multicanaux et multiniveaux afin d'améliorer considérablement la qualité du RAG. Les modèles open source BGE qui ont été intégrés jusqu'à présent incluent :

Modèle d'intégration

  • BAAI/bge-m3

  • BAAI/bge-large-fr-v1.5

  • BAI/bge-base-fr-v1.5

  • BAY/bge-small-fr-v1.5

  • BAAI/bge-large-zh-v1.5

  • BAAI/bge-base-zh-v1.5

  • BAAI/bge-small-zh-v1.5

Modèle de reclassement

  • BAAI/bge-reranker-v2-m3

  • BAAI/bge-reanchor-large

  • BAAI/bge-reranker-base

03. Affichage de l'échantillon de code

À partir de la version 2.4, le client Milvus Python a ajouté le composant pymilvus[model] Qu'il s'agisse de Sparse Vector combiné au rappel multidirectionnel de Dense Vector, ou de l'utilisation de Cross-Encoder Reranker pour améliorer la pertinence de la première couche de rappel, le Les modèles fournis par Milvus Components peuvent tous être pris en charge de manière flexible.

Par exemple, il suffit de pip install pymilvus[model], vous pouvez facilement utiliser le vecteur dense généré par le modèle BGE-M3 pour effectuer une recherche vectorielle du voisin le plus proche et utiliser le modèle BGE Reranker pour affiner les résultats :

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)

De plus, d'autres cas peuvent être consultés sur le lien ( https://github.com/milvus-io/pymilvus/blob/master/examples/hello_hybrid_sparse_dense.py ).

04.Perspectives d'avenir

En tant que leader du secteur des bases de données vectorielles, Zilliz a coopéré avec l'institut de recherche Zhiyuan, leader du secteur, pour prendre en charge une variété de solutions de rappel basées sur le modèle open source BGE et la base de données vectorielles Milvus, intégrant le support de Sparse Embedding et Reranker, qui très pratique pour les développeurs RAG.

Chen Jiang, responsable de la plateforme d'intégration écologique et d'IA de Zilliz, a déclaré : « À l'avenir, Milvus continuera à coopérer en profondeur avec Zhiyuan dans la recherche de modèles, la promotion des développeurs et d'autres aspects pour aider à populariser et améliorer davantage les applications d'IA.

Le chef de l'équipe BGE de l'Institut de recherche Zhiyuan a déclaré : « L'intégration de BGE et Milvus offre aux utilisateurs de la communauté la possibilité de créer rapidement un pipeline de récupération « trinitaire » (récupération dense, récupération clairsemée et réorganisation). À l’avenir, nous sommes impatients de poursuivre notre coopération avec des entreprises leaders du secteur comme Zilliz pour donner conjointement les moyens aux développeurs d’applications d’IA. "

Lire l'article original


  • Bonne nouvelle, la communauté Milvus recherche le " Beichen Messenger " sur l'ensemble du réseau ! ! !​
  • Si vous rencontrez des problèmes avec les produits Milvus ou Zilliz, vous pouvez ajouter l'assistant WeChat « zilliz-tech » pour rejoindre le groupe de communication.​
  • Bienvenue à suivre le compte public WeChat « Zilliz » pour connaître les dernières informations.
J'ai décidé d'abandonner les logiciels industriels open source. OGG 1.0 est sorti, Huawei a contribué à tout le code source. Ubuntu 24.04 LTS a été officiellement publié. L'équipe de Google Python Foundation a été tuée par la "montagne de merde de code" . ". Fedora Linux 40 a été officiellement lancé. Une société de jeux bien connue a publié de nouvelles réglementations : les cadeaux de mariage des employés ne doivent pas dépasser 100 000 yuans. China Unicom lance la première version chinoise Llama3 8B au monde du modèle open source. Pinduoduo est condamné à compenser 5 millions de yuans pour concurrence déloyale Méthode de saisie dans le cloud domestique - seul Huawei n'a aucun problème de sécurité de téléchargement de données dans le cloud.
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4209276/blog/11063572
conseillé
Classement