File size: 2,722 Bytes
0b99e74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
language:
- en
license: mit
tags:
- sentence-transformers
- feature-extraction
- sentence-similarity
- evangelism
- apologetics
- bible
- chirho
# For God so loved the world that he gave his only begotten Son,
# that whoever believes in him should not perish but have eternal life. - John 3:16
datasets:
- LoveJesus/evangelism-dataset-chirho
metrics:
- pearsonr
- spearmanr
model-index:
- name: evangelism-retriever-chirho
  results:
  - task:
      type: semantic-similarity
      name: Semantic Similarity
    metrics:
    - name: Cosine Pearson
      type: pearsonr
      value: 0.9011
    - name: Cosine Spearman
      type: spearmanr
      value: 0.8577
---

# Evangelism Retriever (MiniLM-L12-v2)

Part of Model 9: Evangelism & Apologetics Pipeline for [bible.systems](https://bible.systems).

## Model Description

A fine-tuned `all-MiniLM-L12-v2` sentence transformer for retrieving relevant apologetics passages given a user query. Used as the RAG retriever in the evangelism pipeline.

## Performance

- **Cosine Pearson**: 0.9011
- **Cosine Spearman**: 0.8577
- Training: 3 epochs with MultipleNegativesRankingLoss (MNRL)

## Pipeline Architecture

For non-evangelism intents, the retriever finds relevant passages from the apologetics corpus:

```
User Question -> [Intent Classifier] -> [Retriever] -> Top-5 passages -> [Generator]
```

The retriever encodes both queries and passages into 384-dimensional embeddings, then uses cosine similarity for ranking.

## Usage

```python
from sentence_transformers import SentenceTransformer
import numpy as np

model = SentenceTransformer("LoveJesus/evangelism-retriever-chirho")

query = "What evidence supports the resurrection?"
passages = [
    "Over 500 witnesses saw the risen Christ (1 Corinthians 15:6).",
    "The empty tomb was never disputed by Jesus' enemies.",
    "The disciples were transformed from fearful to bold after the resurrection.",
]

query_emb = model.encode([query])
passage_embs = model.encode(passages)
scores = np.dot(passage_embs, query_emb.T).flatten()

for i in np.argsort(scores)[::-1]:
    print(f"  [{scores[i]:.3f}] {passages[i]}")
```

## Training Data

10,622 query-passage pairs from apologetics Q&A, creation science evidence, historical evidence, miracle testimonies, and Spurgeon sermons.

## Related Models

- [LoveJesus/evangelism-intent-classifier-chirho](https://huggingface.co/LoveJesus/evangelism-intent-classifier-chirho) - Intent classifier
- [LoveJesus/evangelism-generator-chirho](https://huggingface.co/LoveJesus/evangelism-generator-chirho) - Response generator (Qwen3-14B LoRA)
- [LoveJesus/evangelism-dataset-chirho](https://huggingface.co/datasets/LoveJesus/evangelism-dataset-chirho) - Training dataset