Améliorez considérablement la qualité de RAG ! Zilliz s'associe à Zhiyuan pour intégrer divers modèles open source BGE tels que Sparse Embedding et Reranker


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 ont une variété de choix, non seulement la literie Dense Em (modèle vectoriel dense) largement utilisée dans l'industrie, mais également l'utilisation des derniers modèles Sparse Embedding (modèle de récupération clairsemé) et Reranker (reclassement) de BGE. 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 pour améliorer 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 limites 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 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 utiliser plus facilement 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 d'un exemple de code


À partir de la version 2.4, le client Milvus Python a ajouté de nouveaux  pymilvus[model]composants. 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 du rappel de premier niveau, les composants Model fournis par Les Milvus sont un support au sol flexible.


Par exemple, 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.

未来展望


Zilliz 作为向量数据库行业的引领者,此次与业界领先的智源研究院合作,支持基于开源 BGE 模型和 Milvus 向量数据库的多种召回方案,集成了两者对 Sparse Embedding 和 Reranker 的支持,极大地便利了 RAG 开发者。


Zilliz 生态集成和 AI 平台负责人陈将表示:“未来,Milvus 将持续与智源在模型研究、开发者推广等方面深度合作,助力 AI 应用的进一步普及和提升。”


智源研究院 BGE 团队负责人表示:“ 智源研究院 BGE 负责人表示:“ BGE 和 Milvus 的集成,为社区用户快速搭建“三位一体的”(稠密检索、稀疏检索、重排序)检索流水线带来的极大便利。未来期待与像 Zilliz 这样行业优秀的企业进一步合作,共同为 AI 应用开发者赋能。”


推荐阅读


本文分享自微信公众号 - ZILLIZ(Zilliztech)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

90后程序员开发视频搬运软件、不到一年获利超 700 万,结局很刑! 高中生自创开源编程语言作为成人礼——网友锐评:依托答辩 RustDesk 由于诈骗猖獗,暂停国内服务 淘宝 (taobao.com) 重启网页版优化工作 Java 17 是最常用的 Java LTS 版本 Windows 10 市场份额达 70%,Windows 11 持续下滑 开源日报 | 谷歌扶持鸿蒙上位;开源Rabbit R1;Docker加持的安卓手机;微软的焦虑和野心;海尔电器把开放平台关了 Apple 发布 M4 芯片 谷歌删除 Android 通用内核 (ACK) 对 RISC-V 架构的支持 云风从阿里离职,未来计划制作 Windows 平台的独立游戏
{{o.name}}
{{m.name}}

Je suppose que tu aimes

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