Construindo uma base de conhecimento para aplicações RAG
Ao criar uma aplicação RAG, você se depara com uma escolha fundamental sobre onde armazenar e recuperar informações. Você pode investir em um grafo de conhecimento completo que captura entidades e relacionamentos com estrutura precisa, ou pode adotar uma abordagem mais tradicional, construindo uma base de conhecimento baseada em coleções de documentos e busca vetorial.
Os gráficos de conhecimento são excelentes para modelar relacionamentos e apoiar o raciocínio multi-salto. No entanto, há fortes argumentos para começar com uma base de conhecimento para aplicações RAG.
Neste artigo, vamos orientá-lo sobre o propósito de uma base de conhecimento em termos de RAG, como projetar e implementar uma e quais práticas recomendadas você pode seguir para garantir desempenho e precisão à medida que seu conteúdo cresce.
Uma Visão Geral da Geração Aumentada de Recuperação (RAG)
Recuperação de geração aumentada ou RAG é simplesmente um LLM usando uma fonte externa, como uma base de conhecimento, para gerar respostas contextualmente relevantes. O RAG tem dois componentes:
- Um recuperador para buscar informações relevantes de uma fonte externa
- Um gerador para sintetizar essa informação em uma resposta coerente
No momento da consulta, o sistema recupera dados relevantes de uma fonte conectada e os utiliza para gerar uma saída. Essa abordagem ajuda a superar as tendências alucinatórias dos modelos de geração pura e permite que eles forneçam respostas atualizadas ou detalhes específicos de um domínio.
Para construir uma empresa verdadeiramente eficaz Gasoduto RAG, você precisa de uma excelente base de conhecimento. É ela que determina o conteúdo que o modelo pode usar e a rapidez com que ele pode recuperá-lo.
O que é uma base de conhecimento no RAG?
Uma base de conhecimento (KB) é um repositório de dados ou informações relevantes que você pode consultar quando precisa encontrar respostas para perguntas comuns ou solucionar problemas.
No contexto do RAG, uma base de conhecimento é normalmente uma coleção de trechos de texto ou fragmentos de documentos. Ao contrário dos bancos de dados tradicionais que armazenam dados estruturados, uma base de conhecimento contém conteúdo principalmente em linguagem natural, como manuais ou documentação de produtos da sua organização.
Este conteúdo é indexado para busca baseada em significado. Isso significa que o sistema RAG encontra e extrai trechos que abordam os mesmos tópicos ou ideias da sua pergunta, mesmo que esses trechos não usem exatamente as mesmas palavras. Ele faz isso convertendo o conteúdo em linguagem natural (usando modelos avançados de IA, como transformadores) em vetores de alta dimensão.
Por que uma base de conhecimento é absolutamente fundamental para o RAG
Sem uma base de conhecimento, não há nada para recuperar. O gerador se baseará, por padrão, em seus parâmetros pré-treinados, o que significa que pode produzir conteúdo alucinatório.
As bases de conhecimento são essenciais principalmente porque servem como memória para o LLM. Aqui estão três coisas essenciais que os LLMs não conseguem alcançar sem uma base de conhecimento:
- encalhe:Uma base de conhecimento especializada fornece contexto factual para reduzir alucinações do modelo de linguagem.
- Adaptação de domínio:Uma base de conhecimento permite que o RAG “injete” conhecimento específico do domínio sem retreinar ou ajustar o modelo.
- oportunidade: As bases de conhecimento permitem respostas atualizadas recuperando conteúdo publicado recentemente, mesmo que o modelo base tenha sido treinado há muito tempo.
Resumindo, sem uma base de conhecimento, um sistema RAG é apenas mais um gerador de texto: limitado, genérico e não confiável.
Você deve investir tudo em um gráfico de conhecimento para RAG?
Com toda a agitação em torno dos gráficos de conhecimento para aplicações RAG, é fácil questionar se eles realmente são a solução mais viável para fundamentar os LLMs. Então, por que começar com uma base de conhecimento antes de investir em gráficos de conhecimento?
Aqui estão mais alguns motivos:
Simplicidade da indexação baseada em vetores
Em primeiro lugar, a maior parte das informações do mundo reside em textos não estruturados ou semiestruturados, como relatórios, e-mails, páginas wiki e outros documentos. Transformar todo esse material em um esquema de grafo canônico exige um esforço intensivo na desambiguação de relacionamentos de reconhecimento de entidades e na curadoria contínua.
Em contraste, uma base de conhecimento baseada em vetores permite indexar trechos de texto diretamente pelo seu significado. Você pode passar de arquivos brutos para um repositório pesquisável em questão de horas, em vez de semanas.
Atualizações ágeis
Em segundo lugar, você se beneficia de atualizações sem atrito. Quando novos documentos chegam, você simplesmente os converte em embeddings e os adiciona ao seu índice. Você evita a natureza frágil de um esquema de gráfico rígido que precisa ser reingerido e reanotado sempre que os tópicos mudam ou novos tipos de entidade surgem. Com uma abordagem baseada em vetores, você troca algumas das semânticas relacionais mais ricas por um tempo de retorno de valor significativamente mais rápido e menor complexidade operacional.
Desempenho escalável para aplicações RAG comuns
Por fim, os mecanismos de busca de vetores escalam com elegância. Eles distribuem seus vetores de incorporação entre fragmentos e utilizam algoritmos aproximados de vizinho mais próximo que mantêm a velocidade de recuperação mesmo quando seu corpus cresce para centenas de milhões de passagens.
Para muitos casos de uso comuns do RAG, como suporte ao cliente, assistência a trabalhadores do conhecimento ou pesquisa de conformidade, a sobrecarga de gerenciamento de um gráfico grande supera os ganhos marginais em precisão que você pode obter com travessias complexas de gráficos.
Como construir uma base de conhecimento para o RAG
Aqui estão as etapas que você precisará seguir para construir sua base de conhecimento:
Etapa 1: entenda seu domínio e as perguntas dos usuários
Há algumas perguntas fundamentais a serem feitas antes de tocar em qualquer dado:
- A que perguntas o sistema RAG deve responder? Seja específico quanto aos tópicos, domínios e nível de detalhamento exigido.
- Quem é o público-alvo e que tipo de respostas ele precisa? Isso influenciará a linguagem, a complexidade e o tipo de informação incluída.
- Quais fontes de dados são consideradas confiáveis? A precisão do sistema RAG depende da confiabilidade e correção das informações coletadas.
- Quais são as principais entidades e conceitos? Identifique os assuntos principais em torno dos quais sua base de conhecimento girará.
Por exemplo, se você estiver criando um assistente de suporte para sua plataforma de software, os usuários provavelmente estarão interessados em buscar informações sobre os recursos do seu produto, etapas de integração ou métodos de solução de problemas. Com essas informações essenciais, você obtém uma orientação clara de que sua base de conhecimento precisa de conteúdo como manuais do usuário, perguntas frequentes, registros de alterações e discussões em fóruns como suas principais fontes.
Etapa 2: coletar e limpar os dados
Depois de ter clareza sobre o tipo e a profundidade do conteúdo necessário para sua base de conhecimento, você precisa de um mecanismo para ingerir os dados relevantes e formatá-los em texto simples. Isso é importante porque o texto simples é a linguagem universal para pipelines de LLM e tudo — desde a fragmentação até a incorporação e a geração — depende de sua clareza e boa estrutura. Qualquer outra coisa aumenta o ruído e reduz a relevância e a qualidade da resposta.
Você pode extrair texto simples de vários formatos de arquivo, incluindo documentos, imagens e arquivos de áudio usando o Text Converter em AsteraPlataforma de extração de dados do . Especificamente, você pode usar o Text Convert para extrair texto de:
- Documentos e arquivos como PDFs, DOC/DOCX, XLS/XLSX, etc.
- Imagens usando reconhecimento óptico de caracteres (OCR)
- Arquivos baseados em HTML
- Arquivos MD, MARKDOWN, MKD, MKDN, MDWN e MDOWN
Lembre-se de que o objetivo aqui é criar um corpus de texto uniforme, independentemente dos tipos de arquivo originais.
Etapa 3: Divida os dados em partes
Como os LLMs têm uma janela de contexto limitada, eles só podem processar uma certa quantidade de texto por vez. Isso significa que você precisa pré-processar e dividir documentos grandes em "pedaços" menores e gerenciáveis que se encaixem nos limites de token do modelo, ou seja, sejam fáceis de digerir. Esse processo é chamado de fragmentação ou divisão.
AsteraO Text Splitter pode dividir o texto por meio de técnicas de divisão comumente usadas, como divisão recursiva, baseada em frases, baseada em HTML e baseada em delimitadores.
Etapa 4: gerar embeddings para cada pedaço (vetorização)
Você precisa converter cada pedaço de texto em um vetor numérico — uma lista de números que representa matematicamente o significado semântico daquele pedaço, ou, em outras palavras, o conteúdo do texto em um nível conceitual. Por exemplo, as frases "reiniciar o sistema" e "reinicializar a máquina" podem parecer diferentes, mas os modelos de incorporação podem reconhecer que elas frequentemente aparecem em contextos semelhantes e atribuir a elas vetores semelhantes.
Esse processo é chamado de incorporação de vetores e é o que permite que um sistema RAG compare e recupere informações relevantes com base no significado, em vez de palavras exatas.
Você pode usar o objeto Build Embeddings dentro AsteraUI do 's para:
- Capture o significado do seu texto usando embeddings de vetores semânticos
- Execute correspondência baseada em palavras-chave usando vetores TS
Etapa 5: Armazene pedaços em um banco de dados vetorial
Para que seus blocos, juntamente com seus embeddings e metadados, sejam acessíveis ao seu sistema RAG, você precisa armazená-los em um banco de dados de vetores (armazenamento de vetores). Isso é importante porque um banco de dados de vetores permite:
- Pesquisa de similaridade: Compara consultas com embeddings pré-armazenados de blocos de documentos. O objetivo é identificar rapidamente blocos com significados semelhantes.
- Filtragem de metadados: Bancos de dados vetoriais modernos também permitem filtrar resultados por metadados, como fonte, data ou tipo de documento. Isso permite que seu sistema RAG recupere não apenas conteúdo relevante, mas também conteúdo relevante do contexto certo, o que é crucial para a precisão e confiabilidade em casos de uso corporativo. Por exemplo, se um usuário perguntar sobre uma política publicada recentemente, você pode priorizar trechos dos documentos mais recentes.
Exemplos de bancos de dados vetoriais incluem:
- Bancos de dados vetoriais gerenciados (nuvem): Pinecone, Zilliz Cloud (Milvus), Google Vertex AI Vector Search, Weaviate Cloud
- Bancos de dados vetoriais auto-hospedados: Milvus, ChromaDB, Qdrant
- Bibliotecas de índice vetorial e pesquisa como serviço: FAISS, Azure Cognitive Search
Normalmente, o próximo passo é implementar seu pipeline de recuperação. No entanto, isso diz respeito à construção do aplicativo RAG, enquanto nosso foco neste artigo é a construção da base de conhecimento.
Melhores práticas para manter em mente
Uma base de conhecimento limpa e confiável contribui significativamente para manter o desempenho do seu sistema RAG otimizado, especialmente porque seu conteúdo provavelmente continuará a crescer. As práticas recomendadas a seguir ajudarão você a criar uma base de conhecimento.
- Divida o conteúdo por significado, não por comprimento.
Divida seus documentos em seções ou parágrafos claros, em vez de dividi-los por número de tokens. Isso mantém o contexto intacto e melhora a relevância das respostas recuperadas. - Mantenha a formatação consistente em todas as fontes.
Use a mesma estrutura para títulos, listas e espaçamento para que seu pipeline possa lidar com o conteúdo de maneira uniforme. Isso reduz erros durante a fragmentação e a recuperação. - Marque cada pedaço com metadados úteis.
Inclua rótulos como tópico, fonte, data e tipo para permitir a recuperação filtrada e com escopo definido posteriormente. Metadados também ajudam a organizar e gerenciar o conteúdo. - Remova duplicatas e versões desatualizadas.
Certifique-se de que cada conteúdo apareça apenas uma vez e que versões mais antigas não permaneçam no índice. Isso evita confusões e aumenta a confiabilidade das respostas. - Use fontes de entrada limpas e confiáveis.
Comece com documentos bem escritos e precisos para manter sua base sólida. Informações de baixa qualidade levam a uma recuperação deficiente e geração de informações fraca.
Quando migrar para um gráfico de conhecimento
Embora uma base de conhecimento seja útil nos estágios iniciais, você pode adicionar um gráfico que faça referência aos mesmos documentos armazenados no seu índice vetorial quando seu caso de uso começar a exigir mais do que "encontre o pedaço de texto mais próximo".
Na prática, isso significa situações em que:
- É necessário raciocínio de entidade complexa.
Por exemplo, se os usuários costumam fazer perguntas multi-hop (perguntas que exigem raciocínio sobre diversas informações para serem respondidas corretamente), como "Quais autores da Instituição X publicaram sobre o tópico Y depois de 2020?", você se beneficiará de um gráfico explícito de autores, instituições, tópicos e datas de publicação.
- Desambiguação ou correferência não podem ser resolvidas apenas pelo contexto.
Quando o mesmo termo se refere a entidades completamente diferentes, por exemplo, a palavra Mercúrio pode se referir a um planeta, um elemento e até mesmo a uma montadora descontinuada, um pequeno gráfico de tipos de entidades e relações melhorará drasticamente a precisão da recuperação.
- Taxonomias ou ontologias hierárquicas sustentam seu conteúdo.
Se o seu conhecimento reside naturalmente em camadas, por exemplo, linhas de produtos, SKUs e especificações, ou categorias de doenças, subtipos e tratamentos, um gráfico permite que você percorra a hierarquia para cima ou para baixo para consultas mais flexíveis.
Lembre-se: introduzir um grafo não significa descartar sua base de armazenamento vetorial; em vez disso, você o enriquece. Você pode continuar fazendo seu trabalho pesado por meio de embeddings (recuperação rápida e escalável de trechos candidatos) e, em seguida, consultar o grafo apenas para refinar, filtrar ou expandir esses resultados. E como esse modelo híbrido adiciona complexidade apenas onde é necessário, você mantém seu pipeline principal enxuto.
Construa sua base de conhecimento para RAG com Astera
Para criar uma base de conhecimento para o RAG, você deve passar por uma sequência de tarefas centradas em dados:
- Ingestão de conteúdo bruto de documentos, páginas da web e bancos de dados
- Limpando e normalizando esse texto
- Dividindo-o em pedaços coerentes
- Transformando cada pedaço em embeddings vetoriais
- Indexando esses embeddings para uma busca rápida por similaridade.
Cada uma dessas etapas é essencial para garantir que sua camada de recuperação possa revelar com precisão as passagens mais relevantes em resposta a uma consulta, mas cada uma também traz seu próprio conjunto de desafios, como:
- Escrevendo analisadores personalizados para PDFs
- Ajustando a lógica de divisão de texto para respeitar os limites semânticos
- Confiando em ferramentas distintas para incorporar geração e armazenamento vetorial
Aqui é onde Astera pode fazer a diferença com sua pilha de dados alimentada por IA.
Em vez de gerenciar vários scripts e APIs em diferentes ferramentas, você pode definir todo o fluxo de trabalho em um único ambiente. Isso simplifica a transição entre as etapas, reduz o risco de inconsistências e permite que você se concentre em melhorar a precisão da recuperação e integrar seu modelo de linguagem para geração de respostas.
Especificamente, Astera automatiza o processo de criação de sua base de conhecimento RAG fornecendo:
- Conectores de arrastar e soltar para fontes comuns
- Transformações pré-construídas para remoção de ruído e conversão de texto
- Módulos de chunking configuráveis
- Geração de incorporação pronta para uso
Conclusão
Construir uma base de conhecimento para o RAG oferece um caminho pragmático para aplicações de recuperação aumentada poderosas. Você aproveita o vasto acervo de texto não estruturado com o mínimo de sobrecarga de curadoria, além de aproveitar um rápido tempo de retorno do investimento e desempenho escalável.
E conforme suas necessidades evoluem, você sempre pode complementar seu sistema com um gráfico de conhecimento para lidar com tarefas de raciocínio avançadas. Comece com uma base de conhecimento bem elaborada e você estabelecerá uma base sólida para quaisquer melhorias futuras em seus aplicativos RAG.
Base de conhecimento: Perguntas frequentes (FAQ)
O que é gestão do conhecimento?
Gestão do conhecimento é o processo de capturar, organizar, compartilhar e manter a expertise coletiva e os ativos de informação de uma organização. No contexto do RAG, a gestão do conhecimento envolve a ingestão, a indexação e a manutenção de conteúdo como documentos, perguntas frequentes, especificações de produtos, etc., atualizado para que um agente de IA possa recuperar os trechos mais relevantes em tempo real.
O que constitui uma boa base de conhecimento?
Uma base de conhecimento sólida abrange todo o espectro de tópicos que sua IA encontrará. Além disso, todos os seus artigos ou entradas devem ser verificados e revisados por especialistas no assunto. Por fim, deve ser facilmente acessível aos membros da sua equipe e aos sistemas de IA.
O que uma base de conhecimento deve conter?
Não existe um conjunto único e universalmente aceito de critérios que determinem o conteúdo exato que uma base de conhecimento deve incluir. No entanto, em geral, você verá que a maior parte do conteúdo da base de conhecimento é composta por artigos estruturados, documentos não estruturados, perguntas frequentes e glossários, registros de alterações, atualizações e feedback do usuário.
Como você estrutura sua base de conhecimento?
O princípio fundamental é tornar a informação o mais fácil possível para um algoritmo encontrar o contexto mais relevante para responder à consulta do usuário. Assim, uma base de conhecimento estruturada para aplicações RAG é um banco de dados vetorial preenchido, onde cada entrada consiste no bloco de conteúdo, na incorporação do vetor e nos metadados.
Como posso criar minha própria base de conhecimento para aplicativos RAG?
Em linhas gerais, você pode criar uma base de conhecimento de duas maneiras: combinando você mesmo bibliotecas e serviços de programação amplamente disponíveis ou utilizando uma solução pronta para uso. Neste último caso, Astera oferece um ambiente visual com tudo o que você precisa para construir uma base de conhecimento totalmente funcional para o RAG.


