9042110ea2
Cinco issues que componen el plan: - 0026: sistema de jobs (infra, contrato wire) - 0027: tipo Webpage + cache de documentos - 0028: enricher fetch_webpage (MVP end-to-end) - 0028b: enrichers extract_domain / extract_links / extract_text_entities - 0029: variantes CDP (Chrome headless, screenshot) - 0030: macro "Deep enrich" + expand_domain Tambien anade los issues previos 0012-0025 que estaban untracked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
---
|
|
id: 0022
|
|
title: Consulta del grafo en lenguaje natural via LLM
|
|
status: pending
|
|
priority: medium
|
|
created: 2026-05-01
|
|
depends_on: [0001]
|
|
---
|
|
|
|
## Objetivo
|
|
|
|
Input de texto ("personas relacionadas con BancoX que aparecen en mas de
|
|
3 documentos") -> LLM traduce a SQL sobre `operations.db` o a un set de
|
|
filtros sobre el grafo en memoria -> resalta el subgrafo resultante.
|
|
|
|
Complementa el chat de 0001 con un modo "consulta puntual" sin
|
|
conversacion: input -> resultado destacado, sin chat history.
|
|
|
|
## Alcance
|
|
|
|
- Tool-use ya disponible en 0001 (`query_entities`, `query_relations`).
|
|
- Modo "highlight": en lugar de devolver texto, el LLM emite un set de
|
|
ids -> la UI dibuja el subgrafo con resaltado y oscurece el resto.
|
|
- Boton "save as filter" -> persiste como vista nombrada (issue 0023).
|
|
- Historial de queries recientes en un dropdown.
|
|
- Indicador de query en curso (puede tardar varios segundos).
|
|
|
|
## Decisiones
|
|
|
|
- ¿Mismo cliente HTTP/Anthropic que 0001 o duplicado? Reusar.
|
|
- Modelo por defecto el mismo que 0001 (`claude-sonnet-4-6`).
|
|
- Query schema (que campos ve el LLM) dado por `types_registry` para
|
|
que aprenda los nombres de campos del proyecto.
|
|
|
|
## Definicion de hecho
|
|
|
|
- "personas con mas de 5 conexiones" devuelve subgrafo correcto.
|
|
- "documentos publicados en 2025" funciona si la metadata tiene fechas.
|
|
- Fallo silencioso (LLM mal interpreta) -> mensaje claro y opcion de
|
|
reintentar refinando.
|
|
- Query guardada como filtro reutilizable.
|