biblos-cf-api / README.md
rdmlx
Initial commit: Church Fathers Commentary API
b773b72
---
title: Church Fathers Commentary Search API
emoji: ✝️
colorFrom: purple
colorTo: blue
sdk: docker
pinned: false
license: mit
---
# Church Fathers Commentary Search API
Semantic search over Church Fathers' New Testament commentaries using BGE-large embeddings. This API keeps the model and embeddings in memory for fast responses (~50-100ms after initial load).
## Features
- ✅ Fast semantic search with BGE-large-en-v1.5 embeddings
- ✅ Model stays loaded in memory (no cold starts)
- ✅ Searches commentaries from 9 prominent Church Fathers
- ✅ Filter by book or father
- ✅ CORS enabled for easy integration
- ✅ RESTful JSON API with FastAPI
- ✅ Automatic API documentation at `/docs`
## API Endpoints
### `GET /`
Health check and API information
### `GET /health`
Detailed health status, available books, and fathers
### `POST /search`
Perform semantic search over commentaries
**Request Body:**
```json
{
"query": "What did the fathers say about baptism?",
"limit": 10,
"books": ["matthew", "john"], // Optional: filter by books
"fathers": ["Augustine of Hippo"] // Optional: filter by fathers
}
```
**Response:**
```json
{
"query": "What did the fathers say about baptism?",
"results": [
{
"book": "matthew",
"father_name": "Augustine of Hippo",
"source_title": "Tractates on the Gospel of John",
"content": "Commentary text here...",
"similarity": 0.892,
"location_start": "Mt 3:13",
"location_end": "Mt 3:17"
}
],
"total_searched": 4523,
"execution_time_ms": 87.3
}
```
## Available Church Fathers
- Augustine of Hippo
- Athanasius of Alexandria
- Basil of Caesarea
- Gregory of Nazianzus
- Gregory of Nyssa
- Cyril of Alexandria
- Irenaeus
- Cyprian
- Origen of Alexandria
## Available Books
All 27 New Testament books: matthew, mark, luke, john, acts, romans, 1corinthians, 2corinthians, galatians, ephesians, philippians, colossians, 1thessalonians, 2thessalonians, 1timothy, 2timothy, titus, philemon, hebrews, james, 1peter, 2peter, 1john, 2john, 3john, jude, revelation
## Quick Start
### Using cURL
```bash
curl -X POST https://dssjon-biblos-cf-api.hf.space/search \
-H "Content-Type: application/json" \
-d '{
"query": "grace and faith",
"limit": 5
}'
```
### Using JavaScript
```javascript
const response = await fetch('https://dssjon-biblos-cf-api.hf.space/search', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
query: 'grace and faith',
limit: 5,
books: ['romans', 'ephesians']
})
})
const data = await response.json()
console.log(data.results)
```
### Using Python
```python
import requests
response = requests.post(
'https://dssjon-biblos-cf-api.hf.space/search',
json={
'query': 'grace and faith',
'limit': 5,
'fathers': ['Augustine of Hippo']
}
)
data = response.json()
print(data['results'])
```
## Interactive Documentation
Visit `/docs` on your deployed Space for interactive Swagger UI documentation where you can test the API directly.
## Performance
- First request: ~2-3 seconds (model loading)
- Subsequent requests: **50-100ms** (model already in memory)
- No cold starts after initial load
- Supports concurrent requests
## Model Information
- **Model:** BAAI/bge-large-en-v1.5
- **Embedding dimensions:** 1024
- **Commentary sources:** Historical Christian Faith Commentaries Database
## Data Source
The commentaries are sourced from the [Historical Christian Faith Commentaries Database](https://github.com/HistoricalChristianFaith/Commentaries-Database), an open-source collection of manually curated commentary texts from early Church Fathers.
## Deployment
This Space uses Docker SDK with FastAPI. The model and embeddings are loaded once at startup and kept in memory for fast responses.
## Local Development
1. Prepare data:
```bash
python prepare_data.py --source ../church-fathers/commentary_embeddings
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Run locally:
```bash
uvicorn app:app --reload
```
4. Visit http://localhost:8000/docs for interactive API documentation
## License
MIT License - Free to use for any purpose
## Acknowledgments
- [Historical Christian Faith Commentaries Database](https://github.com/HistoricalChristianFaith/Commentaries-Database) for the original commentary data
- Hugging Face and the BGE team for the embedding model
- Anthropic Claude for assisting with development