Merge issue 0013 — Paste & Extract panel
- Panel ImGui dockable: textarea, Extract button, preview tables (entities + relations) - Subprocess directo a enrichers/paste_extract/run.py (no usa jobs system; preview puro) - Pipeline Python emite preview JSON; commit a operations.db lo hace C++ con dedupe (type_ref, name) - 12 tests pytest nuevos (paste_extract enricher + extract_panel logic) - GLiNER/GLiREL path cableado pero no ejercitado en tests (modelos pesados); validacion interactiva pendiente Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
---
|
||||
id: 0013
|
||||
title: Panel "Paste & Extract" — texto libre a entidades con extract_graph_hybrid
|
||||
status: pending
|
||||
priority: high
|
||||
created: 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).
|
||||
Reference in New Issue
Block a user