Retrieval-Augmented Generation (RAG) é uma estrutura que melhora modelos de linguagem combinando dois componentes principais: Retriever e Generator. O pipeline RAG combina um localizador e um gerador em um processo iterativo e é amplamente utilizado em respostas a consultas de código aberto, chatbots baseados em conhecimento e tarefas especializadas de recuperação de informações onde a precisão e a relevância dos dados do mundo real são importantes. Sem a disponibilidade de vários pipelines e módulos RAG, é difícil escolher qual pipeline é melhor para seus dados e casos de uso individuais”. Além disso, criar e testar todos os módulos RAG é demorado e difícil de fazer, mas sem isso é difícil saber qual pipeline RAG é o melhor para cada caso de uso.
AutoRAG (𝐑𝐀𝐆 𝐀𝐮𝐭𝐨𝐌𝐋 𝐓𝐨𝐨𝐥) é uma ferramenta para encontrar o pipeline RAG certo para “seus dados pessoais”. Ajuda a testar automaticamente vários módulos RAG com dados de autoteste e a encontrar o melhor pipeline RAG para casos de uso. AutoRAG suporta:
- Criação de dados: crie dados de teste RAG a partir de documentos brutos.
- Otimização: execute testes automaticamente para encontrar o melhor pipeline RAG para dados.
- Implantação: Use o melhor pipeline RAG com um único arquivo YAML e suporte ao servidor Flask.
Ao configurar um pipeline RAG, um nó representa uma tarefa, com o resultado de cada nó sendo encaminhado para o próximo nó. Os principais nós do pipeline RAG ativo são o recuperador, o acelerador e o gerador, com nós adicionais disponíveis para melhorar o desempenho. AutoRAG consegue a otimização criando todas as combinações possíveis de módulos e parâmetros dentro de cada ambiente, utilizando um pipeline com cada configuração e selecionando o resultado adequado de acordo com técnicas previamente definidas. O resultado selecionado do nó anterior torna-se a entrada para o próximo, o que significa que cada nó opera com base no melhor resultado do seu antecessor. Cada nó funciona de forma independente na forma como o resultado de entrada é gerado, semelhante a uma Cadeia de Markov, onde apenas o estado anterior é necessário para gerar o próximo estado, sem conhecimento de todo o pipeline ou etapas anteriores.
Os modelos RAG exigem que os dados sejam testados, mas em muitos casos há poucos ou nenhum dado disponível. No entanto, com o advento dos modelos linguísticos de grande escala (LLMs), a geração de dados sintéticos emergiu como uma solução eficaz para este desafio. O guia a seguir descreve como usar LLMs para criar dados em um formato compatível com AutoRAG:
- Quebrando: configure um arquivo YAML e comece a analisar. Aqui, os documentos brutos podem ser divididos em algumas linhas de código para manipular os dados.
- Pedaço: um corpus é usado para criar os primeiros pares de controle de qualidade, após os quais o corpus restante é mapeado para os dados de controle de qualidade.
- Criação de controle de qualidade: Cada corpus precisa de um conjunto de dados correspondente para controle de qualidade se várias empresas forem produzidas com diferentes métodos de síntese.
- Mapeamento QA-Corpus: para muitas empresas, os dados de coro restantes podem ser mapeados para o conjunto de dados de controle de qualidade. Para melhorar o chunking, o desempenho do RAG pode ser testado usando diferentes dados de corpus.
Certos nós, como query_expansion ou prompt_makernão pode ser testado diretamente. Para testar esses nós, é necessário estabelecer valores de verdade básica, como “verdade básica de consulta estendida” ou “verdade básica de informação”. Dessa forma, os documentos são recuperados durante o processo de avaliação utilizando os módulos configurados, e o nó query_expansion é avaliado com base nesses documentos retornados. A mesma abordagem se aplica aos nós prompt_maker e de geração, onde o nó prompt_maker é avaliado usando os resultados do nó de geração. O AutoRAG está atualmente em sua fase alfa com muitas oportunidades de desenvolvimento para desenvolvimento futuro.
Concluindo, AutoRAG é uma ferramenta automatizada projetada para identificar o pipeline RAG ideal para conjuntos de dados e casos de uso específicos. Ele automatiza o teste de vários módulos RAG usando dados de autoteste, fornecendo suporte para criação, otimização e implementação de dados. Além disso, o AutoRAG organiza o pipeline em nós interconectados (recuperação, acelerador e gerador) e avalia a combinação de módulos e parâmetros para encontrar a melhor configuração. Dados sintéticos de LLMs melhoram a avaliação. Atualmente em fase alfa, o AutoRAG oferece oportunidades significativas de desenvolvimento e melhoria na seleção e implementação de pipelines RAG.
Confira GitHub Repositório. Todo o crédito deste estudo vai para os pesquisadores deste projeto. Além disso, não se esqueça de nos seguir Twitter e junte-se ao nosso Estação telefônica de novo LinkedIn Gracima. Se você gosta do nosso trabalho, você vai gostar do nosso jornal.. Não se esqueça de participar do nosso SubReddit de 55k + ML.
[Trending] LLMWare apresenta Model Depot: uma coleção abrangente de modelos de linguagem pequena (SLMs) para PCs Intel
Sajjad Ansari se formou no último ano do IIT Kharagpur. Como entusiasta da tecnologia, ele examina as aplicações da IA com foco na compreensão do impacto das tecnologias de IA e suas implicações no mundo real. Seu objetivo é transmitir conceitos complexos de IA de maneira clara e acessível.
Ouça nossos podcasts e vídeos de pesquisa de IA mais recentes aqui ➡️