Knowledge Graph
Knowledge Graph lee tus documentos con un modelo de IA, identifica lo que mencionan (personas, empresas, normas, productos, conceptos) y cómo se relacionan entre sí, y lo guarda todo como un grafo de conocimiento en una base de datos tuya. Después puedes hacerle preguntas: busca los fragmentos de texto más relevantes, sigue las relaciones entre lo que aparece en ellos y redacta una respuesta con las fuentes que ha usado.
Úsalo cuando necesites consultar un conjunto de documentos en el que importa cómo se conectan las cosas, por ejemplo normativa que remite a otras normas, contratos entre varias partes o documentación técnica con muchas referencias cruzadas.
Cuándo usarlo
- Crear una base de consulta sobre normativa o manuales internos y responder preguntas citando el documento de origen.
- Responder a preguntas que cruzan varios documentos, como «qué contratos firmó este proveedor y con qué condiciones».
- Darle a un agente una herramienta de búsqueda sobre tu documentación.
- Preparar informes a partir de muchos documentos con una investigación en varios pasos.
- Separar en una misma base de datos varios conjuntos de documentos (legal, técnico, comercial) y consultarlos por separado.
Lo que necesitas
| Conexión | Qué conectar |
|---|---|
| Database (obligatorio) | Dónde se guarda el grafo. Conecta la salida Database Info de un componente de base de datos con su Operation en DatabaseInfo, por ejemplo Postgres SQL, MySQL, SQLite, libSQL o Supabase. |
| Llm (obligatorio) | Un componente de modelo de IA, por ejemplo OpenAI. Lee los documentos al añadirlos y redacta las respuestas al buscar. |
| Embeddings | Un componente de embeddings, por ejemplo OpenAI Embeddings. Es necesario para buscar, y conviene conectarlo también al añadir documentos: sin él, los documentos se guardan sin la información que permite encontrarlos. |
Cómo se trabaja
El campo Operation decide qué hace el componente en cada ejecución. Normalmente usarás un flujo para cargar documentos y otro para consultarlos, con la misma base de datos y el mismo Domain:
- Add Document: lee los documentos, los divide en fragmentos, extrae lo que mencionan y sus relaciones y lo guarda. Un documento que ya se procesó y no ha cambiado se salta.
- Resolve Entities: une las entidades repetidas que aparecen escritas de forma distinta en varios documentos, para que el grafo no tenga duplicados.
- Search: responde a una pregunta con los fragmentos más relevantes y las relaciones del grafo. Si los fragmentos encontrados no sirven, reformula la pregunta y vuelve a buscar.
- Deep Search: hace una investigación en varios pasos sobre el grafo y redacta una respuesta más elaborada, con el papel y el formato que le indiques.
- Retriever: no busca nada por sí mismo; ofrece el grafo como fuente de búsqueda para otros componentes.
Configuración
Campos comunes
| Campo | Qué hace |
|---|---|
| Operation (obligatorio) | Add Document, Resolve Entities, Search, Deep Search o Retriever. Por defecto: Add Document. Los campos visibles cambian según la operación. |
| Domain | Una etiqueta para separar varios grafos dentro de la misma base de datos, por ejemplo normativa_laboral o manuales_tecnicos. Las búsquedas solo miran dentro de su dominio. Por defecto: default. |
En Avanzado, Table Prefix es el prefijo de las tablas que se crean en la base de datos (por defecto: kgraph_). Cámbialo si quieres guardar grafos totalmente independientes en la misma base de datos.
Add Document
| Campo | Qué hace |
|---|---|
| Documents (obligatorio) | Los documentos que se añaden: archivos que llegan de un componente de subida de archivos, de una URL o de otra fuente, o datos que ya contienen el texto. Admite uno o varios. |
| Document Type | Qué tipo de documentos son, para orientar la extracción. Por defecto: General. |
| Chunk Size | El tamaño de cada fragmento en que se divide el documento, en caracteres. Por defecto: 2000. |
| Chunk Overlap | Cuántos caracteres comparten dos fragmentos seguidos, para no cortar ideas por la mitad. Por defecto: 200. |
| Section-Aware Chunking | Divide los documentos por sus títulos de sección, para que cada fragmento respete la estructura del documento. Activado por defecto. |
| Semantic Hierarchy | Los nombres de los niveles de tus documentos, de mayor a menor y separados por comas, por ejemplo TÍTULO,CAPÍTULO,Sección,Artículo. Sirve para respetar la jerarquía aunque todos los títulos tengan el mismo formato. |
| Extract Document Metadata | Usa el modelo de IA para extraer datos de cada documento, como el título, las fechas o el tipo. Desactivado por defecto. |
| Enable Table Extraction | Detecta las tablas de los documentos y extrae de ellas datos sueltos y precisos. Activado por defecto. |
| Generate Chunk Atomic Facts | Genera, a partir de lo extraído, afirmaciones breves y completas que ayudan a encontrar datos concretos. No hace llamadas adicionales al modelo de IA. Activado por defecto. |
| LLM Chunk Atomic Facts | Pide al modelo de IA que redacte esas afirmaciones para cada fragmento. Son de más calidad, pero cada fragmento supone una llamada más al modelo. Desactivado por defecto. |
| Max Facts per Chunk | El número máximo de afirmaciones por fragmento cuando las redacta el modelo de IA. Por defecto: 10. |
| Enable Entity Normalization | Usa el modelo de IA para unificar cómo se escriben los nombres de las entidades, por ejemplo «nia 200» como «NIA-ES 200». Desactivado por defecto. |
En la pestaña Document Processing puedes ajustar las instrucciones que recibe el modelo de IA: Graph Extraction Prompt (cómo extraer entidades y relaciones), Document Summary Prompt (cómo resumir cada documento), Metadata Extraction Prompt y Entity Normalization Prompt. También están los ajustes de tablas: Context Before Table y Context After Table (cuánto texto de alrededor se usa como contexto, por defecto 500 y 200 caracteres) y Minimum Table Rows y Minimum Table Columns (el tamaño mínimo para considerar algo una tabla, por defecto 2). Los valores que vienen funcionan bien para la mayoría de los documentos.
En Avanzado, Generate Graph Image añade al resultado una imagen del grafo, y Graph Export Format elige el formato en que se devuelve el grafo: json (por defecto), graphml o gexf.
Resolve Entities
| Campo | Qué hace |
|---|---|
| Similarity Threshold | Entre 0 y 1: cuánto se tienen que parecer dos entidades para unirlas. Cuanto más alto, más estricto. Por defecto: 0,9. |
Search
| Campo | Qué hace |
|---|---|
| Search Query | La pregunta. Cuando el componente es una herramienta de un agente, la escribe el agente. |
| Top K Results | Cuántos fragmentos se usan como máximo. Por defecto: 5. |
| Fast Mode | Identifica de forma más rápida lo que menciona la pregunta. Activado por defecto. |
| Max Rewrite Attempts | Cuántas veces puede reformular la pregunta si los fragmentos encontrados no son relevantes. Por defecto: 2. |
| Enable Stream Progress | Muestra mensajes de progreso mientras busca, cuando el componente trabaja como herramienta de un agente. Desactivado por defecto. |
| Retrieval Only | Devuelve los fragmentos encontrados sin redactar una respuesta. Útil si otro agente va a trabajar con ellos. Desactivado por defecto. |
| Include Grading | Con Retrieval Only, añade una valoración de si los fragmentos bastan para responder (suficientes, parciales o insuficientes) y por qué. |
En la pestaña Search están Graph Hops (cuántos saltos sigue por las relaciones del grafo desde lo que menciona la pregunta, por defecto 2), Metadata Fields (con Retrieval Only, qué datos de cada documento acompañan a cada fragmento, separados por comas, por ejemplo title,effective_date), Date Order Field (un dato de fecha de los documentos para ordenar los resultados, por ejemplo publication_date) y Date Order Direction (desc, más recientes primero, o asc).
Deep Search
| Campo | Qué hace |
|---|---|
| Search Query | La pregunta o el encargo de investigación. |
| Agent Role | El papel con el que trabaja la investigación, por ejemplo «Eres un auditor experto…». |
| Output Format Instructions | Cómo debe presentarse la respuesta, por ejemplo «Informe con resumen ejecutivo». Por defecto, en formato Markdown. |
| Citation Metadata Fields | Qué datos de los documentos se incluyen en las citas, separados por comas, por ejemplo title, date, url. |
| Domain Description | Una descripción del ámbito de los documentos, por ejemplo «Normas de auditoría españolas», para dar contexto a la investigación. |
| Top K Results | Cuántos fragmentos recupera en cada búsqueda. Por defecto: 5. |
Graph Hops, Date Order Field y Date Order Direction, en la pestaña Search, también se aplican.
Retriever
Usa Top K Results (cuántos fragmentos devuelve cada búsqueda) y, en la pestaña Search, Date Order Field y Date Order Direction.
Uso como herramienta de un agente
Puedes conectar este componente a la entrada Tools de un agente. En la pestaña Tool, Tool Name y Tool Description son el nombre y la explicación con los que el agente reconoce la herramienta y decide cuándo usarla: escribe una descripción clara de lo que hace.
Por defecto se llama knowledge_base. El agente escribe la pregunta y el componente responde con la operación que tenga elegida, Search o Deep Search.
Resultado
| Salida | Operaciones | Qué contiene |
|---|---|---|
| Data | Add Document, Resolve Entities | En Add Document, un resumen: cuántas entidades y relaciones nuevas se han añadido, el total del grafo y el grafo completo en el formato elegido (más la imagen, si la has pedido). En Resolve Entities, la confirmación de que se han unido las entidades. |
| Message | Search, Deep Search | La respuesta redactada (answer). En Search incluye también los fragmentos usados como citas (citations). Con Retrieval Only, en lugar de la respuesta devuelve la lista de fragmentos (documents) con su texto, su puntuación y los datos del documento. |
| Retriever | Retriever | El grafo como fuente de búsqueda. Conéctalo a componentes que acepten un retriever, como RetrieverTool o Retrieval QA History. |
Ejemplo
El departamento jurídico de Grupo Alcázar quiere consultar su normativa interna:
- Flujo de carga. Los PDF de las políticas internas llegan a Documents. El componente, con Add Document, tiene conectados un componente Postgres SQL con la operación DatabaseInfo, un modelo de IA en Llm y un modelo de embeddings en Embeddings. En Domain escriben
politicas_internasy en Semantic HierarchyCAPÍTULO,Artículo. - Limpieza. Tras cargar todos los documentos, una ejecución con Resolve Entities une las entidades duplicadas.
- Flujo de consulta. Otro nodo Knowledge Graph con Search, la misma base de datos, los mismos modelos y el mismo Domain, conectado como herramienta a un agente. Cuando alguien pregunta «¿Qué plazo hay para comunicar un conflicto de intereses?», el agente consulta la herramienta y responde citando los artículos de origen.
Buenas prácticas
- Usa la misma base de datos, el mismo Domain y el mismo modelo de embeddings al cargar y al consultar. Si cambias de modelo de embeddings, vuelve a cargar los documentos.
- Ejecuta Resolve Entities después de cargar un lote grande de documentos.
- Ajusta Semantic Hierarchy si tus documentos tienen una estructura fija (títulos, capítulos, artículos): mejora los fragmentos y las respuestas.
- Activa LLM Chunk Atomic Facts o Extract Document Metadata solo si los necesitas: cada uno añade llamadas al modelo de IA y, por tanto, coste.
Componentes relacionados
- Agent: un agente al que puedes darle el grafo como herramienta.
- RetrieverTool: convierte la salida Retriever en una herramienta.