Inicio / Artículos

Constructor de grafos LLM de Neo4j: De documentos a grafos de conocimiento consultables

Neo4j LLM Graph Builder: de una copia a un grafo de conocimiento consultable; configuración de backend y frontend, credenciales, un ejemplo de inserción de datos, y soluciones para APOC y TLS.

Editor: REACTAPP.TOP8 min de lectura1845 palabras

Fuentes: Building Knowledge Graphs from Documents with Neo4j LLM Graph Builder

Esta guía reconstruye el proceso desde las materias primas hasta un sistema funcional para: crear grafos de conocimiento a partir de documentos con Neo4j LLM Graph Builder. Se centra en pasos operativos, verificaciones explícitas y código que se puede incorporar directamente a un repositorio sin tener que adivinar su propósito. Para obtener una visión general, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin necesidad de leer todo el grafo.

Requisitos previos

En cuanto a los requisitos previos, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Modele los nodos y las relaciones para las preguntas que vaya a hacer, no para cada sustantivo del documento. Los enlaces escasos y tipados son mejores que grafos densos y misteriosos.

Paso 1: Clonar el repositorio

Para el Paso 1: Clona el repositorio, define las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiere unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Modela nodos y relaciones para las preguntas que vayas a hacer, no para cada sustantivo del documento. Los enlaces escasos y tipados son mejores que grafos densos y misteriosos.

git clone https://github.com/neo4j-labs/llm-graph-builder.git
cd llm-graph-builder

Paso 2: Configurar y ejecutar el backend

Para el Paso 2: Configurar y Ejecutar el Backend, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y las salidas validadas. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Modele nodos y relaciones para las preguntas que planteará, no para cada sustantivo del documento. Los bordes escasos y tipados son mejores que los grafos densos y misteriosos. Para el Paso 2: Configurar y Ejecutar el Backend, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben estar en un lugar que los operadores puedan auditar sin problemas.

Leer todo el gráfico.

cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
NEO4J_URI = "bolt://<hostname>:7687"
NEO4J_USERNAME = "neo4j"
NEO4J_PASSWORD = "<password>"
NEO4J_DATABASE = "neo4j"

LLM_MODEL_CONFIG_META_LLAMA3_1_8B="meta-llama/Meta-Llama-3.1-8B-Instruct,http://<hostname>:<port>/fast/v1,<API_KEY>"
LLM_MODEL_CONFIG_GEMINI_2_5_FLASH="gemini-2.5-flash"

TRACK_USER_USAGE="false"

Paso 3: Configurar y ejecutar el frontend

En el Paso 3: Configurar y ejecutar el frontend, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Utilice restricciones e índices antes de la ingesta masiva. La unicidad en las claves de negocio convierte las fusiones posteriores en inserciones predecibles en lugar de situaciones de duplicados masivos.

cd frontend
sudo apt update && sudo apt install yarn -y
VITE_BACKEND_API_URL="https://backendgb.datamindslab.in"
VITE_LLM_MODELS="gemini_2.5_flash,meta_llama3_1_8b,diffbot,openai_gpt_5.4_mini,gemini_3.5_flash,anthropic_claude_4.5_haiku"
VITE_FRONTEND_HOSTNAME="https://graphbuilder.datamindslab.in"
yarn run dev

Paso 4: Conectar la base de datos y las credenciales del LLM

Para el Paso 4: Conectar la base de datos y las credenciales del LLM, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Utilice restricciones e índices antes de realizar la ingesta masiva. La unicidad en las claves empresariales convierte las fusiones posteriores en operaciones de inserción o actualización predecibles, en lugar de situaciones de duplicados excesivos.

Paso 5: Ingerir un documento de ejemplo y generar un grafo

Para el Paso 5: Ingerir un documento de ejemplo y generar un grafo, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Utilice restricciones e índices antes de la ingesta masiva. La unicidad en las claves empresariales convierte las fusiones posteriores en inserciones predecibles en lugar de situaciones de duplicados. Para el Paso 5: Ingerir un documento de ejemplo y generar un grafo, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de secretos y las banderas de funcionalidad deben encontrarse en un único lugar.

Los operadores de lugar pueden realizar auditorías sin tener que leer todo el grafo.

Texto de ejemplo del documento

Para el texto de ejemplo del documento, defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa desde un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Inspeccione un vecindario de ejemplo después del primer lote. Las pruebas con Cypher detectan el desvío en las etiquetas y la falta de propiedades de manera más económica que las pruebas de chat de extremo a extremo.

Pasos de procesamiento

Para los pasos de procesamiento, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Inspeccione un grupo de ejemplos después del primer lote. Las pruebas Cypher detectan cambios en las etiquetas y propiedades faltantes de manera más económica que las pruebas de chat de extremo a extremo.

Nodes (Entities):        538
Relationships (Edges):   1541
SiteScope
OBM
URL Monitor
CPU Monitor
Windows Server
Database
Service
Alert
Threshold
SiteScope --MONITORS--> Windows Server
SiteScope --CONNECTS_TO--> OBM
CPU Monitor --GENERATES--> Alert
Database --HOSTS--> SiteScope

Densidad del grafo: una métrica útil es:

En cuanto a la densidad del grafo, una métrica útil es: defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Inspeccione un vecindario de muestra después del primer lote; las pruebas Cypher detectan con mayor eficiencia los desvíos en las etiquetas y las propiedades faltantes que las pruebas de chat de extremo a extremo.

1541 relationships / 538 nodes
≈ 2.86 relationships per node

En cuanto a la densidad del grafo, una métrica útil es: definir las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos secretos y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin necesidad de leer todo el grafo.

Uso de tokens

Para el uso de tokens, defina las entradas, el propietario de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa desde un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Modele nodos y relaciones para las preguntas que vaya a hacer, no para cada sustantivo del documento. Los bordes escasos y tipados son mejores que los grafos densos y misteriosos.

422,085 tokens
422,085 tokens
≈ 300,000–350,000 words
≈ 800–1200 pages of processed content

Dificultades encontradas

Para los desafíos que se presenten, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Modele los nodos y las relaciones según las preguntas que vaya a hacer, no para cada sustantivo del documento. Los enlaces escasos y tipados son mejores que grafos densos y misteriosos.

Compatibilidad con Neo4j APOC

Para garantizar la compatibilidad con Neo4j APOC, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Modele nodos y relaciones solo para las preguntas que vaya a hacer, no para cada sustantivo del documento. Los bordes escasos y tipados son mejores que grafos densos y misteriosos. Para garantizar la compatibilidad con Neo4j APOC, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos confidenciales y las banderas de funcionalidad deben estar en un lugar que los operadores puedan auditar sin necesidad de leer todo el grafo.

Problemas con los certificados SSL

En el caso de problemas con los certificados SSL, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las intentonas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores. Utilice restricciones e índices antes de realizar la ingesta masiva. La unicidad en las claves empresariales permite que las fusiones posteriores sean inserciones predecibles en lugar de situaciones de duplicados masivos.

Autenticación con Google Gemini

Para la autenticación de Google Gemini, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Utilice restricciones e índices antes de la ingesta masiva. La unicidad en las claves empresariales convierte las fusiones posteriores en actualizaciones predecibles en lugar de situaciones de duplicados.

Gestión de recursos

Para la gestión de recursos, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto.

Conclusión

Lista de verificación operativa

Lecturas relacionadas

  • Graphos de conocimiento 10-K basados en el analizador en Neo4j — Extracción estructurada antes del modelo, etapas integradas con modelos de lenguaje grande, resolución de entidades, mecanismos para detectar errores y posibilidad de conversar sobre el grafo finalizado.