Creación de una base de conocimientos para aplicaciones RAG
Al crear una aplicación RAG, se enfrenta a una decisión fundamental sobre dónde almacenar y recuperar la información. Puede invertir en un grafo de conocimiento completo que capture entidades y relaciones con una estructura precisa, o puede adoptar un enfoque más tradicional creando una base de conocimiento basada en colecciones de documentos y búsqueda vectorial.
Los grafos de conocimiento son excelentes para modelar relaciones y facilitar el razonamiento multisalto. Sin embargo, existen sólidos argumentos para comenzar con una base de conocimiento para aplicaciones RAG.
En este artículo, lo guiaremos a través del propósito de una base de conocimiento en términos de RAG, cómo diseñar e implementar una, y las mejores prácticas que puede seguir para garantizar el rendimiento y la precisión a medida que su contenido crece.
Una descripción general de la generación aumentada de recuperación (RAG)
Recuperación de generación aumentada o RAG es simplemente un LLM Utilizando una fuente externa, como una base de conocimientos, para generar respuestas contextualmente relevantes. El RAG tiene dos componentes:
- Un recuperador para obtener información relevante de una fuente externa
- Un generador para sintetizar esa información en una respuesta coherente
En el momento de la consulta, el sistema recupera datos relevantes de una fuente conectada y los utiliza para generar resultados. Este enfoque ayuda a superar la tendencia a la alucinación de los modelos de generación pura y les permite ofrecer respuestas actualizadas o detalles específicos del dominio.
Para construir una organización verdaderamente efectiva oleoducto RAGNecesita una excelente base de conocimientos. Es lo que determina el contenido que el modelo puede usar y la rapidez con la que puede recuperarlo.
¿Qué es una base de conocimientos en RAG?
Una base de conocimientos (KB) es un almacén de datos o información relevante al que puede recurrir cuando necesita encontrar respuestas a preguntas comunes o solucionar problemas.
En el contexto de RAG, una base de conocimiento suele ser una colección de pasajes de texto o fragmentos de documentos. A diferencia de las bases de datos tradicionales que almacenan datos estructurados, una base de conocimiento contiene principalmente contenido en lenguaje natural, como los manuales o la documentación de los productos de su organización.
Este contenido está indexado para búsquedas basadas en el significado. Esto significa que el sistema RAG encuentra y extrae pasajes que tratan los mismos temas o ideas que tu pregunta, incluso si no usan exactamente las mismas palabras. Esto se logra convirtiendo el contenido en lenguaje natural (utilizando modelos avanzados de IA como transformadores) en... vectores de alta dimensión.
Por qué una base de conocimientos es absolutamente fundamental para RAG
Sin una base de conocimientos, no hay nada que recuperar. El generador se basará por defecto en sus parámetros preentrenados, lo que significa que podría producir contenido alucinado.
Las bases de conocimiento son esenciales principalmente porque sirven como memoria para el Máster en Derecho (LLM). A continuación, se presentan tres aspectos clave que un LLM no puede lograr sin una base de conocimiento:
- Toma de tierra:Una base de conocimiento especializada proporciona un contexto factual para reducir las alucinaciones del modelo del lenguaje.
- Adaptación de dominio:Una base de conocimientos permite a RAG “inyectar” conocimiento específico del dominio sin tener que volver a entrenar ni ajustar el modelo.
- OportunidadLas bases de conocimiento permiten obtener respuestas actualizadas al recuperar contenido publicado recientemente, incluso si el modelo base se entrenó hace mucho tiempo.
En resumen, sin una base de conocimientos, un sistema RAG es simplemente otro generador de texto: limitado, genérico y poco confiable.
¿Deberías invertir todo tu dinero en un Gráfico de Conocimiento para RAG?
Con todo el revuelo en torno a los gráficos de conocimiento para las aplicaciones RAG, es fácil preguntarse si realmente son la solución más viable para los programas de maestría en derecho (LLM). Entonces, ¿por qué empezar con una base de conocimiento antes de invertir en gráficos de conocimiento?
Aquí hay algunas razones más:
Simplicidad de la indexación basada en vectores
En primer lugar, la mayor parte de la información mundial reside en texto no estructurado o semiestructurado, como informes, correos electrónicos, páginas wiki y otros documentos. Convertir todo ese material en un esquema gráfico canónico exige un esfuerzo intensivo en el reconocimiento de entidades, la desambiguación de relaciones y la conservación continua.
En cambio, una base de conocimiento vectorial permite indexar fragmentos de texto directamente por su significado. Se puede pasar de archivos sin procesar a un repositorio con capacidad de búsqueda en cuestión de horas, en lugar de semanas.
Actualizaciones ágiles
En segundo lugar, se beneficia de actualizaciones fluidas. Cuando llegan nuevos documentos, simplemente los convierte en incrustaciones y los añade a su índice. Evita la fragilidad de un esquema gráfico rígido que debe reingerirse y reanotarse cada vez que cambian los temas o surgen nuevos tipos de entidad. Con un enfoque basado en vectores, se compensa la semántica relacional más rica con una rentabilidad considerablemente más rápida y una menor complejidad operativa.
Rendimiento escalable para aplicaciones RAG comunes
Finalmente, los motores de búsqueda vectorial escalan con fluidez. Distribuyen los vectores de incrustación entre fragmentos y utilizan algoritmos de vecino más cercano aproximado que mantienen la velocidad de recuperación incluso a medida que el corpus crece hasta alcanzar cientos de millones de pasajes.
Para muchos casos de uso comunes de RAG, como atención al cliente, asistencia a trabajadores del conocimiento o investigación de cumplimiento, la sobrecarga de administrar un gráfico grande supera las ganancias marginales en precisión que se pueden obtener con recorridos de gráficos complejos.
Cómo crear una base de conocimientos para RAG
Estos son los pasos que deberás seguir para construir tu base de conocimientos:
Paso 1: Comprenda su dominio y las preguntas de los usuarios
Hay algunas preguntas fundamentales que debemos hacer antes de tocar cualquier dato:
- ¿Qué preguntas debería responder el sistema RAG? Sea específico sobre los temas, los dominios y el nivel de detalle requerido.
- ¿Quién es el público objetivo y qué tipo de respuestas necesita? Esto influirá en el lenguaje, la complejidad y el tipo de información incluida.
- ¿Qué fuentes de datos se consideran fiables? La precisión del sistema RAG depende de la fiabilidad y exactitud de la información obtenida.
- ¿Cuáles son las entidades y conceptos clave? Identifica los temas centrales en torno a los cuales girará tu base de conocimientos.
Por ejemplo, si está desarrollando un asistente de soporte para su plataforma de software, es probable que los usuarios estén interesados en buscar información sobre las características de su producto, los pasos de integración o los métodos de resolución de problemas. Con esta información clave, obtendrá una indicación clara de que su base de conocimientos necesita contenido como manuales de usuario, preguntas frecuentes, registros de cambios y foros de discusión como fuentes principales.
Paso 2: Recopilar y limpiar los datos
Una vez que tenga claro el tipo y la profundidad del contenido necesario para su base de conocimientos, necesitará un mecanismo para ingerir los datos relevantes y formatearlos en texto plano. Esto es importante porque el texto plano es el lenguaje universal para los pipelines LLM y todo, desde la fragmentación hasta la incrustación y la generación, depende de que esté limpio y bien formado. Cualquier otra cosa aumenta el ruido y reduce tanto la relevancia como la calidad de la respuesta.
Puede extraer texto sin formato de varios formatos de archivo, incluidos documentos, imágenes y archivos de audio utilizando Text Converter en AsteraPlataforma de extracción de datos. En concreto, puedes usar Text Convert para extraer texto de:
- Documentos y archivos como PDF, DOC/DOCX, XLS/XLSX, etc.
- Imágenes que utilizan reconocimiento óptico de caracteres (OCR)
- Archivos basados en HTML
- Archivos MD, MARKDOWN, MKD, MKDN, MDWN y MDOWN
Recuerde que el objetivo aquí es crear un corpus de texto uniforme, independientemente del tipo de archivo original.
Paso 3: Dividir los datos en fragmentos
Dado que los LLM tienen una ventana de contexto limitada, solo pueden procesar una cierta cantidad de texto a la vez. Esto significa que es necesario preprocesar y dividir documentos grandes en fragmentos más pequeños y manejables que se ajusten a los límites de tokens del modelo, es decir, que sean fáciles de digerir. Este proceso se denomina fragmentación o división.
AsteraEl divisor de texto de Text Splitter puede dividir el texto a través de técnicas de fragmentación comúnmente utilizadas, como división recursiva, basada en oraciones, basada en HTML y basada en delimitadores.
Paso 4: Generar incrustaciones para cada fragmento (vectorización)
Es necesario convertir cada fragmento de texto en un vector numérico: una lista de números que representa matemáticamente el significado semántico de ese fragmento, o, en otras palabras, el contenido del texto a nivel conceptual. Por ejemplo, las frases «reiniciar el sistema» y «reiniciar la máquina» pueden parecer diferentes, pero los modelos de incrustación pueden reconocer que suelen aparecer en contextos similares y asignarles vectores similares.
Este proceso se llama incrustación de vectores y es lo que permite que un sistema RAG compare y recupere información relevante basándose en el significado en lugar de la redacción exacta.
Puede utilizar el objeto Build Embeddings dentro AsteraLa interfaz de usuario de:
- Captura el significado de tu texto usando incrustaciones de vectores semánticos
- Realizar coincidencias basadas en palabras clave utilizando vectores TS
Paso 5: Almacenar fragmentos en una base de datos vectorial
Para que sus fragmentos, junto con sus incrustaciones y metadatos, sean accesibles para su sistema RAG, debe almacenarlos en una base de datos vectorial (almacén vectorial). Esto es importante porque una base de datos vectorial permite:
- Búsqueda de similitud: Compara consultas con incrustaciones prealmacenadas de fragmentos de documentos. El objetivo es identificar rápidamente fragmentos con significados similares.
- Filtrado de metadatos: Las bases de datos vectoriales modernas también permiten filtrar los resultados por metadatos, como la fuente, la fecha o el tipo de documento. Esto permite que el sistema RAG recupere no solo contenido relevante, sino también contenido relevante del contexto adecuado, lo cual es crucial para la precisión y la fiabilidad en casos de uso empresarial. Por ejemplo, si un usuario pregunta sobre una política publicada recientemente, se pueden priorizar los fragmentos de los documentos más recientes.
Algunos ejemplos de bases de datos vectoriales incluyen:
- Bases de datos vectoriales administradas (nube): Pinecone, Zilliz Cloud (Milvus), Google Vertex AI Vector Search, Weaviate Cloud
- Bases de datos vectoriales autoalojadas: Milvus, ChromaDB, Qdrant
- Bibliotecas de índices vectoriales y búsqueda como servicio: FAISS, Azure Cognitive Search
Normalmente, el siguiente paso es implementar el flujo de recuperación. Sin embargo, esto se refiere al desarrollo de la aplicación RAG, mientras que en este artículo nos centramos en la creación de la base de conocimientos.
Mejores prácticas a tener en cuenta
Una base de conocimientos limpia y confiable contribuye en gran medida a optimizar el rendimiento de su sistema RAG, especialmente porque es probable que su contenido siga creciendo. Las siguientes prácticas recomendadas le ayudarán a diseñar una base de conocimientos.
- Divida el contenido según su significado, no por su longitud.
Divide tus documentos en secciones o párrafos claros en lugar de dividirlos por número de tokens. Esto conserva el contexto intacto y mejora la relevancia de las respuestas obtenidas. - Mantenga el formato consistente en todas las fuentes.
Utilice la misma estructura para encabezados, listas y espaciado para que su flujo de trabajo pueda gestionar el contenido de forma uniforme. Esto reduce los errores durante la fragmentación y la recuperación. - Etiqueta cada fragmento con metadatos útiles.
Incluya etiquetas como tema, fuente, fecha y tipo para permitir una recuperación posterior filtrada y delimitada. Los metadatos también ayudan a organizar y gestionar el contenido. - Eliminar duplicados y versiones obsoletas.
Asegúrese de que cada contenido aparezca solo una vez y que las versiones anteriores no permanezcan en el índice. Esto evita confusiones y mejora la fiabilidad de las respuestas. - Utilice fuentes de entrada limpias y confiables.
Comience con documentos bien redactados y precisos para mantener una base sólida. Una información de baja calidad conlleva una recuperación deficiente y una generación deficiente.
Cuándo avanzar hacia un gráfico de conocimiento
Si bien una base de conocimiento le será útil en las primeras etapas, puede agregar un gráfico que haga referencia a los mismos documentos almacenados en su índice vectorial cuando su caso de uso comience a exigir más que "encuéntreme el fragmento de texto más cercano".
En la práctica, esto significa situaciones en las que:
- Se requiere un razonamiento de entidades complejas.
Por ejemplo, si los usuarios suelen hacer preguntas de varios saltos (preguntas que requieren razonamiento sobre múltiples piezas de información para responder correctamente) como "¿Qué autores de la Institución X publicaron sobre el tema Y después de 2020?", se beneficiará de un gráfico explícito de autores, instituciones, temas y fechas de publicación.
- La desambiguación o correferencia no se puede resolver solo mediante el contexto.
Cuando el mismo término se refiere a entidades completamente diferentes (por ejemplo, la palabra Mercurio puede referirse a un planeta, a un elemento e incluso a un fabricante de automóviles que ya no se fabrica), un pequeño gráfico de tipos de entidades y relaciones mejorará drásticamente la precisión de la recuperación.
- Las taxonomías u ontologías jerárquicas sustentan su contenido.
Si su conocimiento reside naturalmente en capas, por ejemplo, líneas de productos, SKU y especificaciones, o categorías de enfermedades, subtipos y tratamientos, un gráfico le permite recorrer la jerarquía hacia arriba o hacia abajo para realizar consultas más flexibles.
Recuerde, introducir un grafo no significa descartar la base de su almacén de vectores; más bien, la enriquece. Puede continuar con el trabajo pesado mediante incrustaciones (recuperación rápida y escalable de pasajes candidatos) y luego consultar el grafo solo para refinar, filtrar o ampliar esos resultados. Y como este modelo híbrido añade complejidad solo donde es necesario, mantiene su flujo de trabajo principal optimizado.
Construya su base de conocimientos para RAG con Astera
Para crear una base de conocimientos para RAG, debe seguir una secuencia de tareas centradas en datos:
- Ingesta de contenido sin procesar de documentos, páginas web y bases de datos
- Limpiando y normalizando ese texto
- Dividiéndolo en partes coherentes
- Transformando cada fragmento en incrustaciones vectoriales
- Indexar dichas incrustaciones para una búsqueda rápida de similitud.
Cada una de estas etapas es esencial para garantizar que su capa de recuperación pueda mostrar con precisión los pasajes más relevantes en respuesta a una consulta, pero cada una también conlleva su propio conjunto de desafíos, como:
- Escritura de analizadores personalizados para archivos PDF
- Ajuste de la lógica de división de texto para respetar los límites semánticos
- Confiar en herramientas dispares para la generación de incrustaciones y el almacenamiento de vectores
Aquí es donde Astera Puede marcar la diferencia con su pila de datos impulsada por IA.
En lugar de gestionar múltiples scripts y API en diferentes herramientas, puede definir todo el flujo de trabajo en un único entorno. Esto simplifica la transición entre pasos, reduce el riesgo de inconsistencias y le permite centrarse en mejorar la precisión de la recuperación e integrar su modelo de lenguaje para la generación de respuestas.
Específicamente, Astera Automatiza el proceso de creación de su base de conocimientos RAG al proporcionar:
- Conectores de arrastrar y soltar para fuentes comunes
- Transformaciones predefinidas para la eliminación de ruido y la conversión de texto
- Módulos de fragmentación configurables
- Generación de incrustaciones listas para usar
Conclusión
Crear una base de conocimientos para RAG ofrece una vía práctica para obtener potentes aplicaciones de recuperación aumentada. Aprovecha la vasta colección de texto no estructurado con una mínima carga de trabajo de curación, a la vez que disfruta de una rápida generación de valor y un rendimiento escalable.
Y cuando sus requisitos evolucionen, siempre podrá ampliar su sistema con un grafo de conocimiento para gestionar tareas de razonamiento avanzado. Comience con una base de conocimiento bien diseñada y sentará una base sólida para futuras mejoras en sus aplicaciones RAG.
Base de conocimientos: Preguntas frecuentes (FAQ)
¿Qué es la gestión del conocimiento?
La gestión del conocimiento es el proceso de capturar, organizar, compartir y mantener la experiencia colectiva y los recursos de información de una organización. En el contexto de RAG, la gestión del conocimiento implica la ingesta, indexación y actualización de contenido como documentos, preguntas frecuentes, especificaciones de productos, etc., para que un agente de IA pueda recuperar los fragmentos más relevantes en tiempo real.
¿Qué hace que una base de conocimientos sea buena?
Una base de conocimientos sólida abarca todo el espectro de temas que su IA abordará. Además, todos sus artículos o entradas deben estar verificados y revisados por expertos en la materia. Finalmente, debe ser fácilmente accesible para los miembros de su equipo y los sistemas de IA.
¿Qué debe contener una base de conocimientos?
No existe un conjunto único y universalmente aceptado de criterios que dicten el contenido preciso que debe incluir una base de conocimientos. Sin embargo, generalmente, encontrará que la mayor parte del contenido de una base de conocimientos se compone de artículos estructurados, documentos no estructurados, preguntas frecuentes y glosarios, registros de cambios, actualizaciones y comentarios de los usuarios.
¿Cómo estructura su base de conocimientos?
El principio fundamental es facilitar al máximo la información para que un algoritmo encuentre el contexto más relevante para responder a la consulta del usuario. Por lo tanto, una base de conocimiento estructurada para aplicaciones RAG es una base de datos vectorial completa donde cada entrada consta del fragmento de contenido, la incrustación vectorial y los metadatos.
¿Cómo creo mi propia base de conocimientos para aplicaciones RAG?
En términos generales, puede crear una base de conocimientos de dos maneras: combinando usted mismo bibliotecas y servicios de programación ampliamente disponibles o aprovechando una solución integral. En este último caso, Astera ofrece un entorno visual con todo lo que necesita para construir una base de conocimiento totalmente funcional para RAG.


