Zilliz continua capacitando desenvolvedores de aplicativos de IA!
Recentemente, a Zilliz firmou uma cooperação com o Zhiyuan Research Institute para integrar vários modelos de código aberto BGE ( BAAI General Embedding ) com o banco de dados vetorial de código aberto Milvus.Graças ao suporte recém-lançado Sparse Vector (vetor esparso) e Multi-vetor (multivetor) no Milvus 2.4, os desenvolvedores têm uma variedade de opções, não apenas a cama Dense Em (modelo de vetor denso) amplamente utilizada na indústria, mas também o uso dos mais recentes modelos Sparse Embedding (modelo de recuperação esparsa) e Reranker (reclassificação) da BGE. Os desenvolvedores podem combinar facilmente essas ferramentas para criar uma solução de recall mais poderosa, abrangendo recuperação semântica, recuperação de texto completo e recursos de classificação refinados.
A integração do BGE e do Milvus melhora de forma abrangente a qualidade do RAG, ao mesmo tempo que mantém a flexibilidade e pode atender melhor aos desenvolvedores de aplicações de IA.

01.
Incorporação esparsa e reclassificação: novas tendências para melhorar o RAG
RAG (Retrieval Augmented Generation) é uma tecnologia que utiliza informações recuperadas de bases de conhecimento externas para aumentar a precisão e a confiabilidade de grandes modelos de linguagem. Foi comprovado que o RAG é capaz de resolver com eficácia uma série de problemas centrais que dificultam a aplicação de grandes modelos (como alucinações, falta de pontualidade, conhecimento insuficiente do domínio profissional, problemas de segurança de dados, etc.) . A incorporação de modelos e bancos de dados vetoriais é a chave para concretizar esta solução. Melhores modelos e bancos de dados vetoriais com funções mais ricas podem efetivamente melhorar a qualidade das respostas RAG e ajudar grandes modelos de linguagem a obter uma melhor experiência de perguntas e respostas de terminal.
No entanto, devido às limitações dos esquemas básicos de incorporação densa e de recuperação de vetores, o efeito final do RAG não é satisfatório em alguns cenários . Atualmente, a indústria tende a adotar duas soluções para melhorar a qualidade das perguntas e respostas do RAG:
A primeira opção é usar vetor esparso e vetor denso para realizar recuperação bidirecional. Entre eles, o Sparse Vector pode cobrir os recursos da pesquisa tradicional de texto completo e ajudar a identificar e capturar palavras-chave específicas, enquanto o Dense Vector pode capturar de forma mais eficaz as informações semânticas gerais do texto. Ao integrar os resultados destas duas recolhas de vetores, podem ser obtidas informações mais ricas e abrangentes, melhorando assim a eficácia do RAG.
Opção dois , use o Cross-Encoder Reranker como a segunda camada de classificação precisa. Primeiro, use Dense Vector, Sparse Vector ou uma combinação dos dois para classificação aproximada e, em seguida, use o modelo Reranker para filtrar e classificar ainda mais os resultados do primeiro estágio para melhorar a qualidade dos resultados finais;
Vale a pena notar que a opção um pode ser usada de forma independente, ou seja, usando um algoritmo baseado em regras para mesclar os resultados da recuperação bidirecional, como o RRF Reciprocal Rank Fusion (RRF) comumente usado, ou pode ser usado em combinação com a opção dois, ou seja, usar Cross-Encoder Reranker Merge e reordenar os resultados bidirecionais.
02.
Milvus se une à BGE para resolver com flexibilidade os problemas de qualidade da RAG
Milvus é um banco de dados vetorial de código aberto para aplicações de IA, servindo pesquisa vetorial e gerenciamento de dados não estruturados. Foi originalmente lançado pela Zilliz Company e de código aberto em 2019. Desde o seu lançamento, Milvus se tornou popular e amplamente adotado entre a comunidade de desenvolvedores de IA e usuários corporativos. Com mais de 26.000 estrelas e mais de 260 colaboradores no GitHub , Milvus foi baixado e instalado mais de 20 milhões de vezes em todo o mundo , tornando-se um. Um dos bancos de dados vetoriais mais utilizados no mundo.
Não muito tempo atrás, o fundador e CEO da Zilliz, Xingjue, lançou oficialmente a versão Milvus 2.4 na conferência NVIDIA GTC, que pode ser considerada uma atualização revolucionária na indústria. Além dos muito discutidos recursos de indexação de vetores baseados em GPU e aceleração de pesquisa, o suporte para vetores esparsos e multivetoriais também é um destaque. A integração de Milvus e Zhiyuan BGE não apenas reúne os recursos de incorporação esparsa, recall multicanal e reranker necessários para melhorar a qualidade do RAG de uma só vez, mas também fornece aos desenvolvedores vários tipos e soluções de recall multinível para ajudar os desenvolvedores de acordo com o real necessidades. Crie aplicativos de IA com flexibilidade.
O BGE desenvolvido em conjunto com Milvus desta vez é um modelo semântico universal criado pelo Intelligent Source Research Institute. Desde seu primeiro lançamento em agosto de 2023, a equipe Zhiyuan lançou sucessivamente os modelos BGE v1.0, v1.5 em chinês e inglês e o modelo BGE-M3 que suporta mais de 100 idiomas e vários métodos de recall. Até agora, os modelos da série BGE foram baixados mais de 15 milhões de vezes em todo o mundo, ocupando o primeiro lugar entre os modelos domésticos de IA de código aberto. O modelo BGE-M3 já foi classificado entre os três modelos mais populares do Hugging Face. No cliente Milvus 2.4 mais recente, é fornecido um encapsulamento de função simples e fácil de usar para o modelo BGE. Os desenvolvedores podem usar mais facilmente uma variedade de modelos de código aberto BGE e cooperar com o banco de dados vetorial Milvus para construir soluções de recall multicanal e multinível para melhorar de forma abrangente a qualidade do RAG. Os modelos de código aberto BGE que foram integrados até agora incluem:
Modelo de incorporação
BAAI/bge-m3
BAAI/bge-large-pt-v1.5
BAI/bge-base-pt-v1.5
BAY/bge-small-pt-v1.5
BAAI/bge-grande-zh-v1.5
BAAI/bge-base-zh-v1.5
BAAI/bge-small-zh-v1.5
Modelo de reclassificação
BAAI/bge-reranker-v2-m3
BAAI/bge-reanchor-grande
BAAI/bge-reclassificador-base
03.
Exibição de amostra de código
A partir da versão 2.4, o cliente Milvus Python adicionou novos pymilvus[model]
componentes, seja Sparse Vector combinado com o recall multidirecional do Dense Vector ou usando Cross-Encoder Reranker para melhorar a relevância do recall de primeiro nível, os componentes do modelo fornecidos por. Milvus são suportes de solo flexíveis.
Por exemplo, pip install pymilvus[model]
você pode facilmente usar o vetor denso gerado pelo modelo BGE-M3 para realizar a pesquisa vetorial do vizinho mais próximo e usar o modelo BGE Reranker para refinar os 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)
Além disso, mais casos podem ser visualizados no link (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源创计划”,欢迎正在阅读的你也加入,一起分享。