¡Zilliz continúa capacitando a los desarrolladores de aplicaciones de IA!
Recientemente, Zilliz ha llegado a una cooperación con el Instituto de Investigación Zhiyuan para integrar varios modelos de código abierto BGE ( BAAI General Embedding ) con la base de datos de vectores de código abierto Milvus.Gracias al soporte Sparse Vector (vector disperso) y Multi-vector (multi-vector) recientemente lanzado en Milvus 2.4, los desarrolladores tienen una variedad de opciones, no solo el lecho Dense Em (modelo de vector denso) ampliamente utilizado en la industria, sino también el uso de los últimos modelos Sparse Embedding (modelo de recuperación dispersa) y Reranker (reranking) de BGE. Los desarrolladores pueden combinar fácilmente estas herramientas para crear una solución de recuperación más poderosa, que cubra la recuperación semántica, la recuperación de texto completo y capacidades de clasificación refinadas.
La integración de BGE y Milvus mejora integralmente la calidad de RAG al tiempo que mantiene la flexibilidad y puede servir mejor a los desarrolladores de aplicaciones de IA.
01.
Sparse Embedding y Reranker: Nuevas tendencias para mejorar RAG
RAG (Retrieval Augmented Generation) es una tecnología que utiliza información recuperada de bases de conocimiento externas para mejorar la precisión y confiabilidad de grandes modelos de lenguaje. Se ha demostrado que RAG puede resolver eficazmente una serie de problemas centrales que dificultan la aplicación de modelos grandes (como alucinaciones, falta de puntualidad, conocimiento insuficiente del dominio profesional, problemas de seguridad de los datos, etc.) . La incorporación de modelos y bases de datos vectoriales es la clave para implementar esta solución. Mejores modelos y bases de datos vectoriales con funciones más ricas pueden mejorar efectivamente la calidad de las respuestas RAG y ayudar a los modelos de lenguaje grandes a lograr una mejor experiencia de preguntas y respuestas en el terminal.
Sin embargo, debido a las limitaciones de los esquemas básicos de incrustación densa y recuperación de vectores, el efecto final de RAG no es satisfactorio en algunos escenarios . En la actualidad, la industria tiende a adoptar dos soluciones para mejorar la calidad de las preguntas y respuestas de RAG:
La primera opción es utilizar Sparse Vector y Dense Vector para realizar una recuperación bidireccional. Entre ellos, Sparse Vector puede cubrir las capacidades de la búsqueda tradicional de texto completo y ayudar a identificar y capturar palabras clave específicas, mientras que Dense Vector puede capturar de manera más efectiva la información semántica general del texto. Al integrar los resultados de estos dos retiros de vectores, se puede obtener información más rica y completa, mejorando así la efectividad de RAG.
Opción dos : utilice Cross-Encoder Reranker como segunda capa de clasificación fina. Primero, use Dense Vector, Sparse Vector o una combinación de los dos para una clasificación aproximada; luego use el modelo Reranker para filtrar y ordenar aún más los resultados de la primera etapa para mejorar la calidad de los resultados finales.
Vale la pena señalar que la opción uno se puede usar de forma independiente, es decir, usar un algoritmo basado en reglas para fusionar los resultados de la recuperación bidireccional, como la fusión de rango recíproco (RRF) RRF comúnmente utilizada, o se puede usar en combinación con la opción dos, es decir, usar Cross-Encoder Reranker Merge y reordenar los resultados bidireccionales.
02.
Milvus se une a BGE para resolver de manera flexible los problemas de calidad de RAG
Milvus es una base de datos de vectores de código abierto para aplicaciones de inteligencia artificial, que sirve para búsqueda de vectores y gestión de datos no estructurados. Fue lanzado originalmente por la empresa Zilliz y de código abierto en 2019. Desde su lanzamiento, Milvus se ha vuelto popular y ampliamente adoptado entre la comunidad de desarrolladores de IA y usuarios empresariales. Con más de 26.000 estrellas y más de 260 colaboradores en GitHub , Milvus se ha descargado e instalado más de 20 millones de veces en todo el mundo . Una de las bases de datos vectoriales más utilizadas en el mundo.
No hace mucho, el fundador y director ejecutivo de Zilliz, Xingjue, lanzó oficialmente la versión Milvus 2.4 en la conferencia NVIDIA GTC, que puede considerarse una actualización revolucionaria en la industria. Además de las muy discutidas capacidades de aceleración de búsqueda e indexación de vectores basadas en GPU, la compatibilidad con Sparse Vector y Multi-Vector también es un punto destacado. La integración de Milvus y Zhiyuan BGE no solo reúne las capacidades Sparse Embedding, recuperación multicanal y Reranker necesarias para mejorar la calidad de RAG al mismo tiempo, sino que también proporciona a los desarrolladores múltiples tipos y soluciones de recuperación multinivel para ayudar a los desarrolladores de acuerdo con las necesidades reales. necesidades. Cree aplicaciones de IA de forma flexible.
El BGE desarrollado conjuntamente con Milvus esta vez es un modelo semántico universal creado por el Intelligent Source Research Institute. Desde su primer lanzamiento en agosto de 2023, el equipo de Zhiyuan ha lanzado sucesivamente los modelos BGE v1.0, v1.5 en chino e inglés y el modelo BGE-M3 que admite más de 100 idiomas y múltiples métodos de recuperación. Hasta ahora, los modelos de la serie BGE se han descargado más de 15 millones de veces en todo el mundo, ocupando el primer lugar entre los modelos nacionales de IA de código abierto. El modelo BGE-M3 alguna vez estuvo entre los tres modelos más populares de Hugging Face. En el último cliente Milvus 2.4, se proporciona una encapsulación de funciones simple y fácil de usar para el modelo BGE. Los desarrolladores pueden utilizar de manera más conveniente una variedad de modelos de código abierto BGE y cooperar con la base de datos vectorial Milvus para crear soluciones de recuperación multicanal y multinivel para mejorar integralmente la calidad de RAG. Los modelos de código abierto de BGE que se han integrado hasta ahora incluyen:
Modelo de incrustación
BAAI/bge-m3
BAAI/bge-large-es-v1.5
BAI/bge-base-es-v1.5
BAY/bge-small-es-v1.5
BAAI/bge-grande-zh-v1.5
BAAI/bge-base-zh-v1.5
BAAI/bge-small-zh-v1.5
Modelo reclasificador
BAAI/bge-reranker-v2-m3
BAAI/bge-reanchor-grande
BAAI/bge-reranker-base
03.
Visualización de ejemplo de código
A partir de la versión 2.4, el cliente Milvus Python ha agregado nuevos pymilvus[model]
componentes, ya sea Sparse Vector combinado con la recuperación multidireccional de Dense Vector o el uso de Cross-Encoder Reranker para mejorar la relevancia de la recuperación de primer nivel, los componentes del modelo proporcionados por. Milvus son soportes terrestres flexibles.
Por ejemplo, pip install pymilvus[model]
puede utilizar fácilmente el vector denso generado por el modelo BGE-M3 para realizar una búsqueda vectorial del vecino más cercano y utilizar el modelo BGE Reranker para refinar los resultados:
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)
Además, se pueden ver más casos en el enlace (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源创计划”,欢迎正在阅读的你也加入,一起分享。