Saltearse al contenido

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ónQué 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.
EmbeddingsUn 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:

  1. 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.
  2. Resolve Entities: une las entidades repetidas que aparecen escritas de forma distinta en varios documentos, para que el grafo no tenga duplicados.
  3. 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.
  4. 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.
  5. Retriever: no busca nada por sí mismo; ofrece el grafo como fuente de búsqueda para otros componentes.

Configuración

Campos comunes

CampoQué 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.
DomainUna 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

CampoQué 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 TypeQué tipo de documentos son, para orientar la extracción. Por defecto: General.
Chunk SizeEl tamaño de cada fragmento en que se divide el documento, en caracteres. Por defecto: 2000.
Chunk OverlapCuántos caracteres comparten dos fragmentos seguidos, para no cortar ideas por la mitad. Por defecto: 200.
Section-Aware ChunkingDivide los documentos por sus títulos de sección, para que cada fragmento respete la estructura del documento. Activado por defecto.
Semantic HierarchyLos 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 MetadataUsa el modelo de IA para extraer datos de cada documento, como el título, las fechas o el tipo. Desactivado por defecto.
Enable Table ExtractionDetecta las tablas de los documentos y extrae de ellas datos sueltos y precisos. Activado por defecto.
Generate Chunk Atomic FactsGenera, 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 FactsPide 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 ChunkEl número máximo de afirmaciones por fragmento cuando las redacta el modelo de IA. Por defecto: 10.
Enable Entity NormalizationUsa 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

CampoQué hace
Similarity ThresholdEntre 0 y 1: cuánto se tienen que parecer dos entidades para unirlas. Cuanto más alto, más estricto. Por defecto: 0,9.
CampoQué hace
Search QueryLa pregunta. Cuando el componente es una herramienta de un agente, la escribe el agente.
Top K ResultsCuántos fragmentos se usan como máximo. Por defecto: 5.
Fast ModeIdentifica de forma más rápida lo que menciona la pregunta. Activado por defecto.
Max Rewrite AttemptsCuántas veces puede reformular la pregunta si los fragmentos encontrados no son relevantes. Por defecto: 2.
Enable Stream ProgressMuestra mensajes de progreso mientras busca, cuando el componente trabaja como herramienta de un agente. Desactivado por defecto.
Retrieval OnlyDevuelve los fragmentos encontrados sin redactar una respuesta. Útil si otro agente va a trabajar con ellos. Desactivado por defecto.
Include GradingCon 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).

CampoQué hace
Search QueryLa pregunta o el encargo de investigación.
Agent RoleEl papel con el que trabaja la investigación, por ejemplo «Eres un auditor experto…».
Output Format InstructionsCómo debe presentarse la respuesta, por ejemplo «Informe con resumen ejecutivo». Por defecto, en formato Markdown.
Citation Metadata FieldsQué datos de los documentos se incluyen en las citas, separados por comas, por ejemplo title, date, url.
Domain DescriptionUna descripción del ámbito de los documentos, por ejemplo «Normas de auditoría españolas», para dar contexto a la investigación.
Top K ResultsCuá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

SalidaOperacionesQué contiene
DataAdd Document, Resolve EntitiesEn 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.
MessageSearch, Deep SearchLa 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.
RetrieverRetrieverEl 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:

  1. 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_internas y en Semantic Hierarchy CAPÍTULO,Artículo.
  2. Limpieza. Tras cargar todos los documentos, una ejecución con Resolve Entities une las entidades duplicadas.
  3. 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.