OpenKB: compilar documentos en una base de conocimiento LLM que se actualiza continuamente

OpenKB es una herramienta CLI de base de conocimiento LLM de código abierto creada por VectifyAI. Compila PDFs, archivos Word, Markdown, páginas web y otros documentos en una wiki Markdown con resúmenes, páginas de conceptos y enlaces cruzados, usando PageIndex para recuperación en documentos largos y contenido multimodal.

OpenKB es una herramienta de base de conocimiento LLM de código abierto creada por VectifyAI.

No es un sistema RAG tradicional que divide documentos en fragmentos, los vectoriza y vuelve a ensamblar contexto en cada consulta. OpenKB primero compila los documentos originales en una wiki estructurada: resúmenes de documentos, páginas de conceptos, referencias cruzadas, consultas posteriores y comprobaciones con lint. En otras palabras, se parece más a una CLI de base de conocimiento que organiza materiales de forma continua.

Proyecto: https://github.com/VectifyAI/OpenKB

La idea principal

OpenKB merece atención por tres razones:

  1. Exporta la base de conocimiento como archivos Markdown normales, no como datos encerrados en una base de datos específica.
  2. Usa PageIndex para procesar PDFs largos, con recuperación de documentos largos sin depender de una base vectorial.
  3. Pone el foco en la “compilación de conocimiento”: el LLM genera resúmenes, páginas de conceptos y enlaces cruzados, en vez de buscar desde cero en cada pregunta.

Esto hace que OpenKB encaje bien en escenarios de acumulación de conocimiento a largo plazo: lectura de papers, documentación de proyectos, materiales internos, normas técnicas, investigación de productos y bases de conocimiento personales.

No es un reemplazo universal. Si necesitas Q&A online de alta concurrencia, permisos complejos, panel web de administración, auditoría empresarial o multitenancy a gran escala, OpenKB hoy se parece más a una herramienta para desarrolladores y a un prototipo de base de conocimiento que a una plataforma empresarial completa.

Qué es OpenKB

OpenKB significa Open Knowledge Base.

Funciona como una CLI: convierte, organiza, resume y genera un conjunto de archivos wiki a partir de los documentos añadidos. El README oficial lo explica de forma directa: OpenKB usa LLMs para compilar documentos originales en una base de conocimiento estilo wiki, estructurada e interconectada, con PageIndex para recuperación de documentos largos sin vectores.

Los formatos de entrada soportados incluyen:

  • PDF
  • Word
  • Markdown
  • PowerPoint
  • HTML
  • Excel
  • Texto plano
  • Otros formatos convertibles con markitdown

La base de conocimiento generada vive en wiki/ e incluye principalmente:

  • index.md: visión general de la base de conocimiento
  • log.md: línea de tiempo de operaciones
  • AGENTS.md: estructura e instrucciones de mantenimiento
  • sources/: textos fuente convertidos
  • summaries/: resúmenes de cada documento
  • concepts/: páginas de conceptos entre documentos
  • explorations/: resultados de consultas guardados
  • reports/: informes de lint

La mayor ventaja de este diseño es la transparencia. Puedes abrir los archivos Markdown directamente, en lugar de recibir respuestas únicamente desde una interfaz de recuperación opaca.

Diferencia con el RAG tradicional

Un flujo RAG tradicional suele ser:

  1. Dividir los documentos en chunks.
  2. Generar embeddings.
  3. Guardarlos en una base vectorial.
  4. Recuperar fragmentos relevantes al consultar.
  5. Pasar esos fragmentos al LLM para generar una respuesta.

Este flujo está maduro y funciona bien para sistemas de preguntas y respuestas. Pero tiene un problema: el conocimiento no se acumula realmente. Cada pregunta vuelve a buscar fragmentos, recomponer contexto y generar una respuesta.

OpenKB sigue más bien la lógica de “organizar primero, preguntar después”:

  1. Los documentos entran en raw/.
  2. Los documentos cortos se convierten a Markdown mediante markitdown.
  3. Los PDFs largos pasan por PageIndex para generar índices en árbol y resúmenes.
  4. El LLM genera resúmenes de documentos.
  5. El LLM lee páginas de conceptos existentes y crea o actualiza conceptos entre documentos.
  6. Se actualizan el índice, el log y los enlaces cruzados de la base de conocimiento.

El resultado es que añadir un documento no solo crea otro archivo recuperable. Puede actualizar una docena de páginas wiki. El conocimiento se escribe en páginas de conceptos y se conecta con materiales existentes.

Esto se parece más a cómo una persona mantiene una base de conocimiento: cuando llega material nuevo, no basta con archivarlo; también hay que actualizar páginas temáticas, resumir diferencias y añadir referencias.

Qué problema resuelve PageIndex

Los documentos largos siempre han sido difíciles para RAG y para las bases de conocimiento con LLM.

Si divides directamente un PDF largo en muchos chunks, aparecen varios problemas:

  • Se pierden las relaciones entre capítulos.
  • Tablas, imágenes y notas al pie son difíciles de manejar.
  • Los fragmentos recuperados son demasiado pequeños y la respuesta pierde estructura global.
  • Aunque la ventana de contexto sea grande, no conviene meter todo el documento en el prompt.
  • Las cadenas largas de resumen pueden comprimir y perder detalles importantes.

OpenKB usa PageIndex para procesar PDFs largos. Según la descripción del proyecto, PageIndex crea índices en árbol y resúmenes para documentos largos, de modo que el LLM razona sobre el árbol del documento en lugar de leer todo el documento directamente.

El punto no es encontrar “los párrafos con mayor similitud vectorial”, sino permitir que el modelo use la jerarquía del documento para localizar contenido relevante. Para informes de investigación, papers, manuales, prospectos y documentos de cumplimiento, esta idea tiene mucho sentido.

OpenKB puede usar por defecto la versión open-source de PageIndex de forma local. Si necesitas OCR, procesamiento de PDFs complejos o generación de estructura más rápida, puedes configurar PAGEINDEX_API_KEY para usar PageIndex Cloud.

Instalación e inicio rápido

OpenKB se puede instalar directamente con pip:

1
pip install openkb

También puedes instalar la versión más reciente desde GitHub:

1
pip install git+https://github.com/VectifyAI/OpenKB.git

Instalación editable desde el código fuente:

1
2
3
git clone https://github.com/VectifyAI/OpenKB.git
cd OpenKB
pip install -e .

Crea un directorio para la base de conocimiento:

1
2
mkdir my-kb && cd my-kb
openkb init

Añade documentos:

1
2
openkb add paper.pdf
openkb add ~/papers/

Haz una pregunta:

1
openkb query "What are the main findings?"

Inicia un chat interactivo:

1
openkb chat

Si quieres que OpenKB procese nuevos archivos automáticamente, usa el modo watch:

1
openkb watch

Después, coloca archivos en raw/ y OpenKB actualizará la wiki automáticamente.

Configuración del LLM

OpenKB usa LiteLLM para soportar varios proveedores de modelos, incluidos OpenAI, Claude y Gemini.

Puedes establecer el modelo durante la inicialización o configurarlo en .openkb/config.yaml:

1
2
3
model: gpt-5.4
language: en
pageindex_threshold: 20

Los nombres de modelos siguen el formato provider/model de LiteLLM. Los modelos de OpenAI pueden omitir el prefijo del proveedor:

1
model: gpt-5.4

Modelos como Anthropic y Gemini suelen escribirse así:

1
model: anthropic/claude-sonnet-4-6
1
model: gemini/gemini-3.1-pro-preview

La API key va en .env:

1
LLM_API_KEY=your_llm_api_key

Si activas PageIndex Cloud, añade:

1
PAGEINDEX_API_KEY=your_pageindex_api_key

Comandos habituales

Los comandos de OpenKB son cómodos para desarrolladores:

  • openkb init: inicializa una nueva base de conocimiento.
  • openkb add <file_or_dir>: añade un archivo o directorio.
  • openkb remove <doc>: elimina un documento y limpia páginas wiki, imágenes, registro y estado de PageIndex relacionados.
  • openkb query "question": hace una pregunta puntual sobre la base de conocimiento.
  • openkb chat: entra en una conversación de varios turnos.
  • openkb watch: vigila raw/ y actualiza automáticamente.
  • openkb lint: comprueba la estructura y la salud del contenido.
  • openkb list: lista documentos y conceptos indexados.
  • openkb status: muestra estadísticas de la base de conocimiento.

openkb chat es más adecuado que openkb query para exploración continua. Soporta reanudar sesiones, listarlas y eliminarlas, y también permite slash commands como /status, /list, /add <path>, /save y /lint.

Por qué importa una wiki Markdown

El problema de muchas herramientas de conocimiento es el coste de migración.

Cuando el material entra en una base de datos, índice o formato propietario, es difícil inspeccionarlo, editarlo, respaldarlo o migrarlo directamente. OpenKB escribe el resultado como Markdown normal, lo que lo hace compatible de forma natural con herramientas existentes.

El uso más directo es abrir wiki/ con Obsidian:

  • Las páginas de resumen se pueden leer directamente.
  • Las páginas de conceptos pueden conectarse con [[wikilinks]].
  • La vista de grafo muestra relaciones entre conocimientos.
  • Los resultados de consultas pueden guardarse en explorations/.
  • AGENTS.md puede definir cómo se mantiene la base de conocimiento.

Así OpenKB no es solo una herramienta de Q&A; también puede convertirse en una canalización de organización de conocimiento para personas o equipos.

Escenarios adecuados

OpenKB encaja especialmente bien en:

  • Lectura de papers e informes técnicos.
  • Organización de documentación de proyectos.
  • Archivos de investigación de producto.
  • Bases de conocimiento documentales alrededor de proyectos open-source.
  • Organización de normas internas, actas de reuniones y documentos explicativos.
  • Mantenimiento automático de una base personal en Obsidian.
  • Estructuración de PDFs largos, PPTs, archivos Word y materiales web.

Si trabajas a menudo con montones de documentos y no solo quieres “hacer una pregunta y obtener una respuesta”, sino convertir esos materiales en una base navegable, reutilizable y trazable, OpenKB va en la dirección correcta.

Aspectos a tener en cuenta

Primero, OpenKB depende de la calidad del LLM.

Resúmenes, páginas de conceptos y enlaces cruzados son generados por el modelo. Cuanto más fuerte sea el modelo, más estable será la compilación de conocimiento; si el modelo es débil, la extracción de conceptos, detección de contradicciones y síntesis entre documentos se resentirán.

Segundo, conviene estimar costes desde el principio.

Si importas muchos documentos largos a la vez, las llamadas al LLM pueden ser caras. Es mejor probar con un conjunto pequeño, verificar estructura y calidad, y luego ampliar.

Tercero, la wiki generada aún necesita revisión humana.

OpenKB puede organizar materiales, pero no garantiza automáticamente que todos los hechos sean correctos. Las bases de conocimiento importantes siguen necesitando revisión humana de resúmenes, conceptos y referencias.

Cuarto, cuidado con materiales sensibles.

Si usas LLMs en la nube o PageIndex Cloud, presta atención a privacidad, secretos comerciales y requisitos de cumplimiento. Para material interno, conviene confirmar primero el proveedor del modelo, la política de retención de datos y los límites de acceso.

Quinto, por ahora es más una herramienta CLI.

El roadmap menciona una futura Web UI, almacenamiento con base de datos, soporte para grandes colecciones e indexación jerárquica de conceptos. En la etapa actual, si el equipo no está cómodo con la línea de comandos, todavía habrá fricción de adopción.

Relación con Obsidian, NotebookLM y RAG empresarial

La relación entre OpenKB y Obsidian se entiende mejor como una “capa de organización automática” más una “capa de lectura y edición”.

Obsidian es bueno para que las personas escriban, editen, naveguen y creen enlaces. OpenKB es bueno para convertir documentos originales en una wiki que pueda entrar en Obsidian.

OpenKB y NotebookLM se diferencian más por control local y formato abierto.

NotebookLM ofrece una experiencia más directa para cargar materiales, preguntar y generar resúmenes rápidamente. OpenKB encaja mejor cuando un desarrollador quiere dejar el resultado organizado en un directorio local y seguir manteniéndolo como Markdown.

OpenKB no sustituye al RAG empresarial; lo complementa.

El RAG empresarial prioriza permisos, auditoría, despliegue como servicio, aislamiento de acceso, monitoreo y throughput estable. OpenKB sirve mejor para construir una capa de conocimiento legible, editable y acumulable. Si más adelante construyes Q&A online, la wiki generada por OpenKB también puede ser un corpus de mayor calidad.

Un flujo recomendado

Si quieres probar OpenKB, puedes empezar así:

  1. Crea un directorio de prueba para la base de conocimiento.
  2. Añade de 3 a 5 documentos sobre el mismo tema.
  3. Ejecuta openkb add.
  4. Abre wiki/ y revisa resúmenes y páginas de conceptos.
  5. Haz algunas preguntas concretas con openkb query.
  6. Ejecuta openkb lint para revisar la salud de la base.
  7. Abre wiki/ en Obsidian y mira si el grafo de enlaces tiene sentido.
  8. Cuando la calidad sea aceptable, importa una colección más grande.

No metas cientos de archivos desde el principio. Primero comprueba si entiende bien tu tipo de material, especialmente tablas, imágenes, PDFs largos y fusión de conceptos entre documentos.

Resumen

El valor de OpenKB está en adelantar un paso el flujo de una base de conocimiento LLM: en vez de armar contexto temporalmente al consultar, primero organiza los materiales como wiki y luego permite preguntar, chatear, revisar y seguir manteniendo esa wiki.

Esta ruta no sirve para todos los sistemas de Q&A, pero sí para trabajo de conocimiento que necesita acumulación a largo plazo. Archivos Markdown, compatibilidad con Obsidian, manejo de documentos largos con PageIndex, soporte multi-modelo y flujo CLI forman una herramienta útil para desarrolladores y usuarios orientados a investigación.

Si tienes muchos PDFs, informes, páginas web, papers y documentos de proyecto, vale la pena probar OpenKB. Quizá no reemplace de inmediato una base de conocimiento empresarial madura, pero puede ser una entrada práctica para organizar materiales: primero convierte documentos en conocimiento legible, enlazado y trazable, y luego deja que el LLM trabaje sobre esa base.

Referencias:

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy