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.
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
- Second Brain: Conviertiendo transcripciones de reuniones en un grafo de conocimiento interrogable — Explica cómo un sistema agente extrae entidades de las transcripciones de reuniones y las almacena en Cosmos DB para permitir la recuperación mediante lenguaje natural y la exploración de grafos de conocimiento.
- Gráficos de tareas atómicas: Planificando el trabajo del agente como un grafo de dependencias — Cómo el marco de trabajo de los gráficos de tareas atómicas descompone las tareas del agente en nodos tipados, simula planes y repara únicamente los subgrafos fallidos para ayudar a que los modelos abiertos pequeños compitan.