saber: preguntas-gancho sintetizadas horneadas en el indice publico

- sintetiza_catalogo.py genera preguntas en castellano (indexacion multi-
  representacion) para el pack de conocimiento y el catalogo de awesome lists.
- indexa.py hornea los ganchos: al indice publico solo los de fragmentos
  publicos (~1856); el personal ademas rehornea la sintesis nocturna de COFRE
  (privada), para que reconstruir no pise ese trabajo.
- saber-publico.jsonl pasa a 2555 entradas con los vectores de las preguntas:
  un clon recien hecho consulta con recall alto sin correr sintesis.
- eval del indice personal: hit@1 82%, hit@5 97%, sim 0.927.
This commit is contained in:
sito 2026-08-16 19:59:21 +02:00
parent 43335d329f
commit 873a22ea6a
4 changed files with 2043 additions and 6 deletions

View file

@ -93,7 +93,7 @@ forma de medirlo— sí está; el corpus lo pone cada quien con sus notas.
| El glosario de tareas de Linux en castellano (`glosario.py`) | **sí** (genérico) |
| **El pack de metodología y manuales** (`saber/conocimiento/`) | **sí** — limpio y genérico |
| **El catálogo de *awesome lists*** (`saber/awesome.py`) | **sí** — solo lo redistribuible (CC0, CC BY-SA), ver [ATRIBUCION](../ATRIBUCION.md) |
| **El índice público pre-construido** (`datos/saber-publico.jsonl`) | **sí** — glosario + pack + catálogo, con vectores |
| **El índice público pre-construido** (`datos/saber-publico.jsonl`) | **sí** — glosario + pack + catálogo + preguntas-gancho, con vectores |
| El índice personal (`saber.jsonl`) y sus copias | **no** — los apuntes indexados |
| El diario (`diario.jsonl`) | **no** — las conversaciones |
| Lo derivado (`cosecha.jsonl`, `sintesis.jsonl`) | **no** — salen de los apuntes |
@ -118,3 +118,14 @@ licencia: al índice **público** solo van las redistribuibles —`awesome`
[ATRIBUCION.md](../ATRIBUCION.md))—. `awesome-hacking`, sin licencia explícita, se
indexa solo en el índice **personal** si se clona en `~/COFRE/CODERS/`. Para
ampliar el catálogo, se clona otra lista ahí y se reindexa.
## Las preguntas-gancho, ya horneadas
El salto de recall (48→82 % hit@1) viene de la *indexación multi-representación*:
por cada fragmento, preguntas en castellano que lo encuentran. Generarlas cuesta
horas de modelo local, así que `enriquece/sintetiza_catalogo.py` las produce para
el pack y el catálogo, y el índice público **las trae ya calculadas**. Un clon
recién hecho consulta con esa calidad sin correr ni un minuto de síntesis: sobre
el `saber-publico.jsonl` hay ~1.900 preguntas-gancho además de los fragmentos en
crudo. Las de fragmentos no públicos (p. ej. `awesome-hacking`) se quedan fuera,
como el resto de su contenido.