Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

dsRAG: um mecanismo de recuperação para dados não estruturados e consultas complexas

Introdução geral

O dsRAG é um mecanismo de recuperação de alto desempenho projetado para lidar com consultas complexas em dados não estruturados. O dsRAG emprega três abordagens principais para melhorar o desempenho: segmentação semântica, autogeração contextual e extração de segmentos relevantes. Essas abordagens permitem que o dsRAG atinja uma precisão significativamente maior do que a linha de base tradicional do RAG em tarefas complexas de questionamento com livros abertos. Além disso, o dsRAG suporta uma ampla gama de opções de configuração que podem ser personalizadas de acordo com as necessidades do usuário. Seu design modular permite que os usuários integrem facilmente diferentes componentes, como bancos de dados vetoriais, modelos de incorporação e reordenadores, para obter resultados de recuperação ideais.

Em comparação com as linhas de base RAG (Retrieval-Augmented Generation) tradicionais, o dsRAG alcança taxas de precisão significativamente mais altas em tarefas complexas de questionários com livros abertos. Por exemplo, no teste de benchmark FinanceBench, o dsRAG alcança uma precisão de 96,61 TP3T, em comparação com 321 TP3T da linha de base tradicional do RAG. O dsRAG melhora significativamente o desempenho da recuperação por meio de métodos importantes, como segmentação semântica, contexto automático e extração de segmentos relevantes.


dsRAG: um mecanismo de recuperação de alto desempenho para dados não estruturados e consultas complexas-1

 

Lista de funções

  • segmentação semânticaUso do LLM para segmentar documentos e melhorar a precisão da recuperação.
  • Geração automática de contextoGeração de cabeçalhos de bloco contendo contexto de nível de documento e parágrafo para melhorar a qualidade da incorporação.
  • Extração de segmentos relevantesCombinação inteligente de blocos de texto relacionados no momento da consulta para gerar parágrafos mais longos.
  • Suporte a banco de dados de vetores múltiplosPor exemplo, BasicVectorDB, WeaviateVectorDB, ChromaDB, etc.
  • Suporte a vários modelos incorporados: por exemplo, OpenAIEmbedding, CohereEmbedding, etc.
  • Suporte a vários reordenadores: por exemplo, CohereReranker, VoyageReranker, etc.
  • Base de conhecimento persistenteSuporte à persistência de objetos da base de conhecimento no disco para carregamento e consulta subsequentes.
  • Suporte a vários formatos de documentosSuporte a PDF, Markdown e outros formatos de documentos, como análise e processamento.

 

Usando a Ajuda

montagem

Para instalar o pacote Python para o dsRAG, você pode executar o seguinte comando:

pip install dsrag

Certifique-se de que você tenha as chaves de API do OpenAI e do Cohere e defina-as como variáveis de ambiente.

Início rápido

Você pode usar ocreate_kb_from_filecria uma nova base de conhecimento diretamente de um arquivo:

from dsrag.create_kb import create_kb_from_file
file_path = "dsRAG/tests/data/levels_of_agi.pdf"
kb_id = "levels_of_agi"
kb = create_kb_from_file(kb_id, file_path)

Os objetos da base de conhecimento são automaticamente armazenados no disco, portanto, não precisam ser salvos explicitamente.

Agora, você pode ter uma ideia melhor do que está acontecendo com seukb_idCarregue a base de conhecimento e use a funçãoconsultaOs métodos são consultados:

from dsrag.knowledge_base import KnowledgeBase
kb = KnowledgeBase("levels_of_agi")
search_queries = ["Quais são os níveis de AGI?", "Qual é o nível mais alto de AGI?"]
resultados = kb.query(search_queries)
for segment in results.
print(segment)

Personalização básica

Você pode personalizar a configuração da base de conhecimento, por exemplo, usando apenas o OpenAI:

from dsrag.llm import OpenAIChatAPI
de dsrag.reranker import NoReranker
llm = OpenAIChatAPI(model='gpt-4o-mini')
reranker = NoReranker()
kb = KnowledgeBase(kb_id="levels_of_agi", reranker=reranker, auto_context_model=llm)

Em seguida, useadicionar_documentopara adicionar um documento:

file_path = "dsRAG/tests/data/levels_of_agi.pdf"
kb.add_document(doc_id=file_path, file_path=file_path)

construir

O objeto da base de conhecimento aceita documentos (na forma de texto bruto) e executa chunking e embedding, bem como outras operações de pré-processamento neles. Quando uma consulta é inserida, o sistema executa a pesquisa no banco de dados vetorial, a reordenação e a extração de segmentos relevantes e, por fim, retorna o resultado.

Os objetos da base de conhecimento são persistentes por padrão e sua configuração completa é salva como um arquivo JSON para facilitar a reconstrução e a atualização.

Conteúdo3
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " dsRAG: um mecanismo de recuperação para dados não estruturados e consultas complexas

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