Files
graph_explorer/issues/completed/0013-paste-extract-panel.md
T
2026-05-04 14:24:47 +02:00

1.8 KiB

id, title, status, priority, created
id title status priority created
0013 Panel "Paste & Extract" — texto libre a entidades con extract_graph_hybrid pending high 2026-05-01

Objetivo

Panel dockeable dentro de graph_explorer con un textarea grande. Pegas texto (articulo, mensaje, transcripcion, documento), pulsas Extract, corre el pipeline extract_graph_hybrid (regex + GLiNER + GLiREL + LLM fallback) y muestra preview de entidades y relaciones detectadas. El usuario marca cuales aceptar antes de commit a operations.db.

Es el quick-win de mas alto valor: aprovecha el pipeline ya mergeado (commit 1a353878) y elimina la friccion de tipear datos a mano.

Alcance

  • Panel "Extract" con textarea, combo de proyecto/tipos esperados, boton "Extract".
  • Lanza el pipeline en hilo aparte (es Python — invocar via subprocess o el endpoint HTTP de 0012 con commit=false).
  • Tabla de entidades propuestas: checkbox, type, name, source span. Tabla de relaciones propuestas: from, kind, to, checkbox.
  • Edicion inline de tipo/nombre antes de commit.
  • "Apply selected" -> escribe a operations.db, refresca grafo, posiciona los nuevos nodos cerca del centro o vinculados al ultimo seleccionado.
  • Dedupe: si una entidad propuesta ya existe (mismo type+name) reusar el id en lugar de duplicar.

Decisiones

  • Invocacion del pipeline: via 0012 si esta disponible, o subprocess directo como fallback (para que el panel funcione sin levantar HTTP).
  • Resaltado de spans en el textarea (v2 — primera version solo lista).

Definicion de hecho

  • Pego un parrafo en castellano sobre una empresa y un directivo, pulso Extract, veo entidades correctas tipadas y la relacion entre ambas.
  • Apply crea los nodos en el grafo en menos de 1 s tras click.
  • Re-extraer el mismo texto no duplica entidades (dedupe funciona).