Aprendizagem pessoal com IA
e orientação prática

2024 As 10 melhores estruturas RAG do Github

A geração aprimorada por recuperação (RAG) surgiu como uma técnica poderosa para aprimorar os recursos de grandes modelos de linguagem.

RAG As estruturas combinam os benefícios dos sistemas baseados em recuperação e dos modelos generativos para produzir respostas mais precisas, sensíveis ao contexto e oportunas. Com o aumento da demanda por soluções sofisticadas de IA, surgiram várias estruturas RAG de código aberto no GitHub, cada uma com recursos e funcionalidades exclusivos. Quais são os recursos das estruturas RAG?


Fluxo de trabalho RAG excessivamente simplificado

 

Geração aprimorada de pesquisa(RAG) é uma estrutura de inteligência artificial que aprimora os recursos dos modelos de linguagem em larga escala (LLMs) integrando fontes de conhecimento externas.

O RAG funciona recuperando informações relevantes da base de conhecimento e usando-as para aumentar as entradas do LLM, permitindo que o modelo gere respostas mais precisas, atualizadas e contextualmente relevantes.

Essa abordagem ajuda a superar limitações, como prazos de conhecimento, e reduz o risco de alucinações no resultado do LLM.

 

Por que não posso simplesmente usar o LangChain?

Embora o LangChain seja uma ferramenta poderosa para a criação de aplicativos LLM, ele não é um substituto direto do RAG; em vez disso, o LangChain pode ser usado para implementar um sistema RAG. Aqui estão alguns motivos pelos quais você precisa do RAG além do LangChain:

  1. Conhecimento externoO RAG permite que você incorpore informações atualizadas ou específicas do domínio aos dados de treinamento do LLM que, de outra forma, não existiriam.
  2. Precisão aprimoradaReação: Ao reagir com base nas informações recuperadas, o RAG pode reduzir significativamente os erros e as ilusões.
  3. personalizaçãoRAG permite que você personalize as respostas para conjuntos de dados ou bases de conhecimento específicos, o que é fundamental para muitos aplicativos comerciais.
  4. transparênciaO RAG facilita o rastreamento da fonte das informações usadas para gerar a resposta, melhorando assim a auditabilidade.

Essencialmente, o LangChain fornece as ferramentas e abstrações para a criação de aplicativos LLM, enquanto o RAG é uma técnica específica que pode ser implementada usando o LangChain para melhorar a qualidade e a confiabilidade do resultado do LLM.

 

As 10 melhores estruturas RAG do GitHub

Neste artigo, exploraremos as 10 principais estruturas RAG disponíveis atualmente no GitHub. Essas estruturas representam a vanguarda da tecnologia RAG e valem a pena ser investigadas por desenvolvedores, pesquisadores e organizações que buscam implementar ou aprimorar seus aplicativos baseados em IA.

1. palheiro

Classificação por estrelas do GitHub: 14,6 mil estrelas

O Haystack é uma estrutura avançada e flexível para a criação de sistemas de pesquisa e resposta a perguntas de ponta a ponta. Ele tem uma arquitetura modular que permite aos desenvolvedores criar facilmente pipelines para uma variedade de tarefas de PNL, incluindo recuperação de documentos, resposta a perguntas e sumarização:

  • Suporte a vários armazenamentos de documentos (Elasticsearch, FAISS, SQL, etc.)
  • Integração com modelos de linguagem populares (BERT, RoBERTa, DPR, etc.)
  • Arquitetura dimensionável para lidar com um grande número de arquivos
  • API fácil de usar para criar pipelines de NLP personalizados

A versatilidade e a extensa documentação do Haystack fazem dele uma excelente opção para desenvolvedores iniciantes e experientes que implementam sistemas RAG.

https://github.com/deepset-ai/haystack

2) RAGFlow

Classificação por estrelas do GitHub: 11.6k

RAGFlow é um participante relativamente novo no espaço da estrutura RAG, mas está ganhando força rapidamente devido ao seu foco em simplicidade e eficiência. A estrutura tem como objetivo simplificar o processo de criação de aplicativos baseados em RAG, fornecendo um conjunto de componentes e fluxos de trabalho pré-construídos:

  • Interface intuitiva de design de fluxo de trabalho
  • Pipeline RAG pré-configurado para casos de uso comuns
  • Integração com bancos de dados vetoriais populares
  • Suporte para modelos incorporados personalizados

A abordagem fácil de usar do RAGFlow o torna uma opção atraente para desenvolvedores que desejam criar e implantar rapidamente protótipos de aplicativos RAG sem precisar se aprofundar na complexidade subjacente.

https://github.com/infiniflow/ragflow

3. txtai

Estrelas do GitHub: 7,5 mil

O txtai é uma plataforma de dados de IA versátil que vai além da estrutura tradicional do RAG. Ela oferece um conjunto abrangente de ferramentas para a criação de pesquisa semântica, fluxos de trabalho de modelagem de linguagem e pipelines de processamento de documentos:

  • Banco de dados incorporado para pesquisa eficiente de similaridade
  • APIs para integração de modelos de linguagem e outros serviços de IA
  • Arquitetura extensível para fluxos de trabalho personalizados
  • Suporte a vários idiomas e tipos de dados

A abordagem tudo-em-um do txtai o torna uma excelente opção para organizações que desejam implementar uma ampla gama de recursos de IA em uma única estrutura.

https://github.com/neuml/txtai

4. TEMPESTADE

Classificação por estrelas do GitHub: 5.000 estrelas

Modelos RAG de código aberto de Stanford

O STORM (Stanford Open Source RAG Model) é uma estrutura RAG voltada para a pesquisa, desenvolvida na Universidade de Stanford. O STORM pode ter menos estrelas do que algumas outras estruturas, mas sua formação acadêmica e seu foco em tecnologias de ponta o tornam um recurso valioso para pesquisadores e desenvolvedores interessados nos últimos avanços da tecnologia RAG:

  • Implementação de novos algoritmos e técnicas de RAG
  • Foco no aprimoramento da precisão e da eficiência do mecanismo de recuperação
  • Integração com modelos de linguagem de última geração
  • Diversos documentos e trabalhos de pesquisa

Para aqueles que desejam explorar as fronteiras da tecnologia RAG, a STORM oferece uma base sólida apoiada pelo rigor acadêmico.

https://github.com/stanford-oval/storm

5. aplicativo LLM

Classificação por estrelas do GitHub: 3,4K

O LLM-App é uma coleção de modelos e ferramentas para a criação de aplicativos RAG dinâmicos. Os principais recursos do LLM-App incluem

  • Contêineres Docker prontos para uso para implantação rápida
  • Suporte para fontes de dados dinâmicas e atualizações em tempo real
  • Integração com bancos de dados populares de LLM e vetores
  • Modelos personalizáveis para vários casos de uso de RAG

O foco do LLM-App nos aspectos operacionais e na funcionalidade em tempo real o torna uma opção atraente para as organizações que desejam implantar um sistema RAG pronto para produção.

https://github.com/pathwaycom/llm-app

6) Cognita

Classificação por estrelas do GitHub: 3 mil estrelas

A Cognita é uma nova adição ao espaço da estrutura RAG, focada em fornecer uma plataforma unificada para criar e implementar aplicativos de IA. Embora tenha uma classificação de estrelas mais baixa do que algumas outras estruturas, sua abordagem abrangente e a ênfase nos princípios de MLOps fazem com que valha a pena considerá-la:

  • Plataforma de ponta a ponta para o desenvolvimento de aplicativos RAG
  • Integração com estruturas e ferramentas populares de ML
  • Monitoramento integrado e funções observáveis
  • Suporte para controle de versão de modelo e rastreamento experimental

A abordagem holística da Cognita para o desenvolvimento de aplicativos de IA a torna uma opção atraente para organizações que buscam otimizar todo o ciclo de vida do ML.

https://github.com/truefoundry/cognita

7. R2R

Classificação por estrelas do GitHub: 2,5 mil estrelas

R2R (Retrieval-to-Retrieval) é uma estrutura RAG especializada que se concentra no aprimoramento do processo de recuperação por meio de melhorias iterativas. Embora possa ter menos estrelas, sua abordagem inovadora à recuperação faz dela uma estrutura digna de nota:

  • Implementação de novos algoritmos de pesquisa
  • Oferece suporte ao processo de pesquisa em várias etapas
  • Integração com vários modelos de incorporação e armazenamentos de vetores
  • Ferramentas para analisar e visualizar o desempenho da pesquisa

O R2R oferece um conjunto exclusivo e avançado de ferramentas para desenvolvedores e pesquisadores interessados em ampliar os limites da tecnologia de recuperação.

8. neurite

Classificação por estrelas do GitHub: 909 estrelas

Neurônio

Neurite é uma estrutura RAG emergente projetada para simplificar o processo de criação de aplicativos orientados por IA. Embora tenha uma base de usuários menor do que algumas outras estruturas, seu foco na experiência do desenvolvedor e na prototipagem rápida faz com que valha a pena explorá-la:

  • API intuitiva para criar pipelines RAG
  • Suporte a várias fontes de dados e modelos incorporados
  • Mecanismos de otimização e armazenamento em cache incorporados
  • Arquitetura extensível para componentes personalizados

A ênfase da Neurite na simplicidade e na flexibilidade faz dela uma opção atraente para os desenvolvedores que desejam implementar rapidamente a funcionalidade RAG em seus aplicativos.

https://github.com/satellitecomponent/Neurite

9. FlashRAG

Classificação por estrelas do GitHub: 905 estrelas

FlashRAG do Laboratório de Processamento de Linguagem Natural e Recuperação de Informações da Universidade Renmin da China

O FlashRAG é uma estrutura RAG leve e eficiente desenvolvida pelo Laboratório de Processamento de Linguagem Natural e Recuperação de Informações da Universidade Renmin da China.

  • Otimizar os algoritmos de pesquisa para melhorar a velocidade da pesquisa
  • Suporte para processamento distribuído e dimensionamento
  • Integração com modelos de linguagem e armazenamentos de vetores populares
  • Ferramentas de benchmarking e análise de desempenho

Para aplicativos em que a velocidade e a eficiência são essenciais, o FlashRAG oferece um conjunto dedicado de ferramentas e soluções de otimização.

https://github.com/RUC-NLPIR/FlashRAG

10. copa das árvores

Classificação por estrelas do GitHub: 923 estrelas

O Canopy é uma estrutura RAG desenvolvida pela Pinecone, uma empresa conhecida por sua tecnologia de banco de dados vetorial. Ele aproveita a experiência da Pinecone em pesquisa vetorial eficiente para fornecer uma solução RAG avançada e dimensionável:

  • Forte integração com o banco de dados de vetores da Pinecone
  • Suporte para streaming e atualizações em tempo real
  • Recursos avançados de processamento de consultas e reordenação
  • Ferramentas para gerenciamento e controle de versão de bases de conhecimento

Com foco na escalabilidade e na integração com o ecossistema Pinecone, o Canopy é uma excelente opção para organizações que já usam ou consideram o Pinecone para suas necessidades de pesquisa vetorial.

https://github.com/pinecone-io/canopy

escrever no final

O mundo das estruturas RAG é diversificado e está evoluindo rapidamente, e cada uma das dez estruturas que exploramos oferece benefícios e recursos exclusivos. Desde o abrangente e maduro Haystack até as estruturas especializadas emergentes, como FlashRAG e R2R, há uma solução para atender a cada necessidade e caso de uso:

  • Requisitos específicos do projeto
  • O nível de personalização e flexibilidade de que você precisa
  • Características de escalabilidade e desempenho da estrutura
  • Escala e atividades da comunidade em torno da estrutura
  • Qualidade da documentação e do suporte disponíveis

Avaliando cuidadosamente esses fatores e experimentando diferentes estruturas, você pode encontrar a solução RAG que melhor atenda às suas necessidades e o ajude a criar aplicativos de IA mais inteligentes e com mais reconhecimento de contexto. Manter-se atualizado com os últimos desenvolvimentos da tecnologia RAG é essencial para desenvolvedores e organizações que buscam aproveitar o poder da IA em seus aplicativos e serviços.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " 2024 As 10 melhores estruturas RAG do Github

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil