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, incluindo não apenas o Dense Embedding (modelo de vetor denso) amplamente utilizado na indústria, mas também o uso de BGE Os recém-lançados modelos Sparse Embedding (modelo de recuperação esparsa) e Reranker (reordenação). Os desenvolvedores podem combinar facilmente essas ferramentas para criar uma solução de recuperação 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 na melhoria do 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 profissional insuficiente do domínio, 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, usar 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 empresa Zilliz e de código aberto em 2019. Desde o seu lançamento, o 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, o 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 de vetores 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 o componente pymilvus[model] Seja Sparse Vector combinado com o recall multidirecional do Dense Vector ou usando Cross-Encoder Reranker para melhorar a relevância da primeira camada de recall, o. Os modelos fornecidos pela Milvus Components podem ser suportados de forma flexível.
Por exemplo, apenas pip install pymilvus[model], você pode facilmente usar o Dense Vector gerado pelo modelo BGE-M3 para realizar a pesquisa do vizinho mais próximo do vetor 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. Perspectivas Futuras
Como líder no setor de bancos de dados vetoriais, a Zilliz cooperou com o Zhiyuan Research Institute, líder do setor, para oferecer suporte a uma variedade de soluções de recall baseadas no modelo BGE de código aberto e no banco de dados vetorial Milvus, integrando o suporte de Sparse Embedding e Reranker, que muito conveniente para desenvolvedores RAG.
Chen Jiang, chefe da integração ecológica e plataforma de IA da Zilliz, disse: "No futuro, Milvus continuará a cooperar profundamente com Zhiyuan na pesquisa de modelos, promoção de desenvolvedores e outros aspectos para ajudar a popularizar e melhorar ainda mais as aplicações de IA".
O chefe da equipe BGE do Zhiyuan Research Institute disse: “A integração do BGE e do Milvus oferece aos usuários da comunidade a capacidade de construir rapidamente um pipeline de recuperação de “trindade” (recuperação densa, recuperação esparsa e reordenamento). No futuro, esperamos continuar a cooperar com empresas líderes do setor, como a Zilliz, para capacitar conjuntamente os desenvolvedores de aplicações de IA. "
- Boas notícias, a comunidade Milvus está procurando o " Beichen Messenger " em toda a rede! ! !
- Se você tiver algum problema ao usar os produtos Milvus ou Zilliz, você pode adicionar o assistente WeChat "zilliz-tech" para ingressar no grupo de comunicação.
- Bem-vindo a seguir a conta pública do WeChat "Zilliz" para obter as informações mais recentes.