Base de datos estructurada de conocimiento astrológico, sintetizada automáticamente desde transcripciones de YouTube mediante LLM, diseñada para consulta directa y para ser enchufada a software de cálculo astrológico.
AstroCompendium no es un buscador — es un destilador de conocimiento.
Donde AstroExtracto recupera fragmentos crudos de transcripción para una consulta concreta, AstroCompendium procesa el corpus entero una sola vez y extrae interpretaciones limpias, estructuradas y etiquetadas por entidad astrológica (planeta, casa, signo, aspecto), organizadas por astrólogo y tipo de técnica.
El resultado es una SQLite portátil que responde preguntas como:
- "Dame todas las interpretaciones de Júpiter tránsito Casa 2 del corpus"
- "¿Qué dicen tres astrólogos diferentes sobre Saturno natal en Escorpio?"
- "Lista todos los aspectos Plutón-Sol natal interpretados en el corpus"
Y que puede ser consultada directamente desde cualquier software de cálculo astrológico o proyecto Python externo.
Proyecto hermano, no sustituto, de AstroExtracto.
Reutiliza los VTTs y .info.json ya descargados — sin descargar nada nuevo.
| AstroExtracto | AstroCompendium | |
|---|---|---|
| Técnica | RAG semántico | Destilación estructurada |
| LLM | Qwen local (LM Studio) | Gemini 1.5 Pro API |
| Output | Fragmentos relevantes | Interpretaciones limpias en BD |
| Consulta | Semántica (pregunta libre) | SQL (entidad astrológica) |
| Uso final | Investigación ad-hoc | Integración con software externo |
Corpus AstroExtracto (ya descargado)
├── *.info.json ← título + descripción del vídeo
└── *.vtt ← transcripción completa
│
▼
FASE 1 — CLASIFICACIÓN (Gemini lee solo metadatos)
Input: .info.json (título + descripción)
¿Es interpretación astrológica relevante?
→ NO: descarta (Shorts, off-topic, entrevistas)
→ SÍ: extrae entidades:
tipo: transito | natal | sinastria
planeta: Júpiter
posicion: Casa 2 / Tauro / trine Sol
keywords: [abundancia, recursos, valores]
│
▼
FASE 2 — SÍNTESIS (Gemini lee el VTT completo)
Input: .vtt completo
Output: interpretación limpia 300-500 palabras
Elimina muletillas, ruido, relleno de vídeo
│
▼
SQLite: astro_compendium.db
tabla: interpretaciones
planeta | posicion | tipo | astrologo
sintesis | keywords | url | canal | fecha
│
┌────┴────┐
▼ ▼
Gradio UI SQL directo
(consulta) (proyectos externos)
Clave del diseño: Los astrólogos de YouTube son muy descriptivos en títulos y
descripciones. En la mayoría de casos el .info.json ya revela el tema del vídeo
sin necesidad de leer la transcripción — Gemini clasifica y extrae entidades en
Fase 1 con coste mínimo, y solo va al VTT completo para la síntesis en Fase 2.
CREATE TABLE interpretaciones (
id INTEGER PRIMARY KEY AUTOINCREMENT,
-- Entidad astrológica
tipo TEXT NOT NULL, -- 'transito' | 'natal' | 'sinastria'
planeta TEXT, -- 'Jupiter' | 'Saturno' | 'Sol' ...
planeta2 TEXT, -- segundo planeta en aspectos
posicion TEXT, -- 'Casa 2' | 'Tauro' | 'conjuncion Sol'
signo TEXT,
casa INTEGER,
aspecto TEXT, -- 'conjuncion' | 'cuadratura' | 'trigono'
-- Síntesis
sintesis TEXT NOT NULL, -- interpretación limpia generada por Gemini
keywords TEXT, -- JSON array: ["abundancia","recursos"]
-- Fuente
astrologo TEXT,
canal TEXT,
url TEXT,
titulo_video TEXT,
fecha_video TEXT,
-- Control
procesado_en TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
modelo_llm TEXT DEFAULT 'gemini-1.5-pro'
);
CREATE INDEX idx_planeta ON interpretaciones(planeta);
CREATE INDEX idx_tipo ON interpretaciones(tipo);
CREATE INDEX idx_casa ON interpretaciones(casa);
CREATE INDEX idx_aspecto ON interpretaciones(aspecto);
CREATE INDEX idx_astrologo ON interpretaciones(astrologo);¿Por qué Gemini 1.5 Pro?
- Contexto de 1M tokens — procesa un vídeo entero de una sola vez sin chunking
- El usuario tiene suscripción Gemini Pro activa
- Más barato que GPT-4o para volumen alto
- Coste estimado para 500 vídeos: ~3-8€ (proceso único, no recurrente)
¿Por qué metadatos primero?
Los títulos y descripciones de YouTube ya contienen la información astrológica clave.
Gemini puede clasificar y extraer entidades leyendo solo el .info.json (Fase 1, barato),
y solo consumir el VTT completo para la síntesis (Fase 2, más caro).
Esto reduce coste total en ~60-70%.
¿Por qué SQLite y no vectorial? La consulta final es por entidad astrológica concreta (planeta + casa + tipo), no semántica. SQL es más preciso, portable y directo para integrar con software de cartas natales externo. La BD puede ser consultada por cualquier proyecto Python sin dependencias adicionales.
Curación manual de canales El usuario (con conocimiento profundo del ecosistema astrológico en castellano) selecciona qué canales merecen ser procesados. No todo YouTube — solo fuentes de calidad.
| Técnica | Prioridad | Notas |
|---|---|---|
| Tránsitos | ✅ Principal | planeta tránsito × casa/planeta natal |
| Natales (planeta × signo × casa) | ✅ Principal | interpretación posicional |
| Aspectos natales | ✅ Principal | conjunción, cuadratura, trígono... |
| Sinastría | 🔄 Secundario | v2 |
| Revolución Solar | ❌ Fuera de alcance | descartado en diseño inicial |
- Exploración de
.info.jsonreales del corpus para validar extracción - Script
clasificar.py— Gemini lee metadatos → extrae entidades - Script
sintetizar.py— Gemini lee VTT → genera síntesis limpia -
schema.sql— definición de tablas e índices - Script
insertar.py— vuelca resultados a SQLite - Interfaz Gradio básica de consulta
- Deduplicación: mismo tema, mismo astrólogo → una sola entrada
- Exportación JSON para integración con software de cartas
- Procesado incremental: solo vídeos nuevos, no reprocesar
- Sinastría
- API REST local para consultas desde software astrológico
- Formato de salida compatible con proyectos Python externos existentes
AstroCompendium/
├── astro_compendium.py ← app principal Gradio (consulta)
├── pipeline/
│ ├── clasificar.py ← Fase 1: metadatos → entidades (Gemini)
│ ├── sintetizar.py ← Fase 2: VTT → interpretación (Gemini)
│ └── insertar.py ← inserción en SQLite
├── schema.sql ← definición BD
├── requirements.txt
└── README.md
Requiere corpus previo de AstroExtracto:
C:/Users/Edu/Downloads/corpus_astro/
NombreCanal/
*.vtt ← transcripciones limpias
*.info.json ← metadatos: título, descripción, url, canal, fecha
CORPUS_PATH = "C:/Users/Edu/Downloads/corpus_astro"
DB_PATH = "C:/Users/Edu/Downloads/astro_compendium.db"
GEMINI_MODEL = "gemini-1.5-pro"
GEMINI_KEY = "..." # variable de entorno GEMINI_API_KEY
COSTE_MAX_DIA = 5.0 # límite de gasto diario en euros (seguridad)Proyecto concebido el 13 de marzo de 2026. Complemento de AstroExtracto — mismo corpus, destino diferente. Objetivo final: SQLite astrológica portable, multi-fuente, multi-astrólogo, enchufable a cualquier software de cálculo de carta natal.