Files
omp 2043d5ddcf refactor: troca PDF+OCR por corpus USFX em domínio público
- corpus/: Almeida (João Ferreira de Almeida) em USFX, domínio público,
  66 livros / 1189 capítulos / 31098 versículos, versionado com SHA-256
- app/corpus.py: parser USFX (texto no tail de <v/>), nomes canônicos dos
  livros, aliases (abreviaturas e numerais romanos), VerseChunk sem página
- indexer: descobre *.xml em CORPUS_DIR, progresso em versículos, lote
  configurável, manifesto incremental por SHA-256
- remove extraction.py, parallel.py, bible_parser.py, Tesseract e PyMuPDF
- campo page removido de Source/SearchResult/StatusResponse e do frontend
- embedder: propriedade name; status reporta o embedder em uso, não o do .env
- create_app constrói o embedder ANTES do store (o default HashEmbedder do
  VectorStore impedia o modelo configurado de ser carregado em produção)
- fallback do modelo agora aparece em /api/status.errors
- torch 2.6.0 + transformers 5.22.1 pinados (transformers 5.x exige torch>=2.6)
2026-11-02 11:16:07 -03:00

57 lines
2.3 KiB
Markdown

# Corpus bíblico
Texto indexado pelo Pastor Online. Os arquivos aqui são montados somente-leitura em
`/data/corpus` e descobertos pelo indexador na inicialização.
## `por-almeida.usfx.xml`
| | |
|---|---|
| Tradução | João Ferreira de Almeida |
| Idioma | Português |
| Formato | [USFX](https://ebible.org/usfx/) (Unified Scripture Format XML), UTF-8 |
| Tamanho | 4.745.976 bytes |
| SHA-256 | `4990d0d1909e2bd57aa6ecc2a2ce9a565b154aac8575b0242dc943ad796e643e` |
| Conteúdo | 66 livros · 1.189 capítulos · 31.098 versículos |
| Licença | **Domínio público** |
| Proveniência | <https://github.com/seven1m/open-bibles> (`por-almeida.usfx.xml`) |
Domínio público: pode ser redistribuído e usado sem atribuição nem restrição. O
arquivo é versionado no repositório de propósito — o build não depende de rede e o
conteúdo indexado é reproduzível byte a byte.
### Estrutura
```xml
<book id="GEN">
<h>Gênesis</h>
<c id="1"/>
<v id="1"/>No princípio criou Deus os céus e a terra. <ve/>
</book>
```
Detalhes que o parser precisa respeitar:
- O texto do versículo é o **`tail`** de `<v id="N"/>`, encerrado por `<ve/>` — não
são filhos do elemento `<v/>`.
- `N` reinicia a cada capítulo; o capítulo corrente vem do último `<c id="…"/>`.
- O nome do livro vem de `<h>`, na grafia que o próprio corpus declara
(`1 Samuel`, `Cânticos`, `Isaías`). É essa grafia que aparece nas citações.
- O texto contém `\xa0` (espaço não separável), normalizado para espaço comum.
### Versificação
O cânon está completo, mas 12 versículos de fim de capítulo divergem da numeração
de outras edições — ora ausentes (Gn 36:43, Gn 43:34, Nm 5:31, Nm 25:18, Ne 5:19,
Ez 20:49, Lc 9:62, 2Co 13:14), ora com um versículo a mais (Jz 5, 1Sm 20, Sl 46,
3Jo 1). É versificação, não texto faltando. A validação de citação confere contra
**este** corpus indexado, não contra uma Bíblia impressa.
## Adicionando outras traduções
Coloque qualquer arquivo USFX aqui e reinicie o backend (ou chame
`POST /api/reindex`). Cada arquivo é indexado separadamente e identificado pelo
próprio nome no campo `file` dos metadados, então `chunk_id` não colide entre
corpora. Verifique a licença antes: traduções modernas (NVI, NTLH, NAA, ACF, ARA,
ARC, KJA) pertencem às editoras e **não** podem ser redistribuídas.