A Retrieval-Augmented Generation (RAG) passou por uma série de avanços nos últimos anos, juntamente com sua crescente popularidade. Na minha palestra no All Things Open (ATO) 2024 em 28 de outubro, abordarei uma série de técnicas necessárias para construir um RAG melhor. Isso inclui chunking, escolhendo um modelo de incorporação e estruturação de metadados.
Considerações para a construção de um sistema RAG
Uma das coisas mais importantes ao construir um sistema RAG é fazê-lo funcionar com o tipo de dados que você precisa. Por exemplo, há muitos tipos de texto — conversacional, documentação, perguntas e respostas, palestras e documentos formais. Você também precisa determinar exatamente o que precisa dos dados: é apenas um despejo de todo o texto, ou você está procurando insights específicos, ou apenas informações de gráficos e tabelas incorporados?
Assim como qualquer outro projeto de dados, você precisa fazer uma análise para determinar quais dados você está usando, como você os ingerirá e quais enriquecimentos e transformações são necessários. Suas decisões incluem custo, tamanho, licença de modelo, tempo para incorporar dados e se eles funcionam com suas especificações de dados.
Uma parte incrivelmente importante do uso de bancos de dados vetoriais e RAG é determinar qual modelo de incorporação usar, de provedores como HuggingFace, OpenAI, Google, Meta, PyTorch, Jina AI, Mistral AI ou Nomic A. Alguns modelos são para incorporações densas, como BAAI/bge-base-en-v1.5, que produz vetores de números de ponto flutuante de 768 dimensões. Existem também modelos de incorporação esparsos que produzem principalmente zeros.
Você também precisa decidir quais ferramentas usar; muitas ferramentas novas tornam a construção do RAG menos manual, como LangChain, LlamaIndex, LangChain4J ou Spring AI. Você também pode usar ferramentas de extração-transformação-carregamento (ETL) de IA, como DataVolo, Cloudera DataFlow, Airbyte, StreamNative UniConn, Apache Spark, Apache Flink, Ray e Fivetran.
Olhando para o futuro da RAG
Além de discutir novos avanços no mundo do RAG, durante minha palestra no ATO, compartilharei alguns exemplos e olharei para o futuro, onde novos modelos, técnicas, bancos de dados de vetores e avanços de IA irão turbinar todo o conceito. Isso inclui:
Fragmentação
Opções de modelo de incorporação
Estruturação de metadados
GráficoRAG
Multilíngue vs. um idioma específico
Recuperação de dados multimodais
Melhoria de consulta
Roteamento de consulta
Indexação hierárquica
Recuperação híbrida RAG
Agente
Auto-reflexão
Roteamento de consulta
Subconsultas
Também compartilharei uma rápida visão geral de um sistema RAG que usa Milvus, um banco de dados de vetores de código aberto, para combinar um sistema de recuperação com um modelo generativo. Ao adicionar contexto inteligente recuperado rapidamente do Milvus ao seu prompt, você pode reduzir as alucinações do LLM, o que é muito importante.