Proyecto independiente No afiliado, patrocinado ni avalado por la Watch Tower Bible and Tract Society o Jehovah's Witnesses.
jw-agent-toolkit
EN

Paquete · Librería

jw-rag

Recuperación híbrida

El componente de recuperación. Indexa cualquier fuente de jw-core (capítulos bíblicos, artículos WOL, EPUBs descargados, JWPUBs descifrados) y los hace buscables por similitud semántica + keyword. La fusión RRF combina los rankings sin perder relevancia ni precisión.

Funcionalidades

Lo que hace, en detalle.

01

Stores intercambiables

VectorStore (sqlite-vec por defecto, también soporta Pinecone/Qdrant/Chroma) y BM25Store (sqlite FTS5). Composición vía HybridStore.

02

Ingesta unificada

ingest_bible_chapters, ingest_articles, ingest_epub, ingest_jwpub. Todos producen Chunks con source_id para delete incremental.

03

Loaders externos (F62)

pdf_marker.ingest_pdf con marker-pdf (Apache-2.0, ~9 GB modelos opt-in via JW_MARKER_USE_GPU/JW_MARKER_USE_LLM) para Atalayas históricas escaneadas. docs_markitdown.ingest_office_doc (MIT) para .docx/.pptx/.xlsx compartidos en hermandad. Idempotencia sha256 con source_id pdf:<hash8> y doc:<ext>:<hash8>. JW signature regex (watch tower|jw.org|atalaya|kingdom hall) marca metadata.is_jw=True. Opt-in via extras [pdf-marker], [doc-markitdown], [loaders-all].

04

Reciprocal Rank Fusion

Combina ranking de BM25 con ranking vectorial usando RRF (k=60 por defecto). Mejor que pesos lineales en boundaries de relevancia.

05

Sync incremental

delete_by_source_ids permite re-indexar solo lo que cambió en jw.org sin reconstruir todo el corpus.

En la práctica

Cuatro líneas.
Resultado verificable.

Indexar Juan completo y buscar.

python · jw-rag
from jw_rag import HybridStore, ingest_bible_book

store = HybridStore.open("./jw-corpus.db")

# Indexar
await ingest_bible_book(
    store, book="JHN", lang="es",
)

# Buscar
results = store.search(
    "amor incondicional de Dios",
    top_k=5, fusion="rrf",
)
for r in results:
    print(r.score, r.chunk.text[:80])

API pública

Qué exporta el módulo.

Resumen de los símbolos principales. La referencia exhaustiva cubre cada uno con signature, parámetros y ejemplos.

  • HybridStore · VectorStore · BM25Store
  • Chunk · SearchResult
  • ingest_bible_book · ingest_article · ingest_epub · ingest_jwpub
  • ingest_pdf (marker) · ingest_office_doc (markitdown)
  • fusion: rrf · linear · max