kumarakkiy's picture
Upload 92 files
144b805 verified
|
Raw
History Blame Contribute Delete
2.38 kB
# Deploy SearchAudio (online, archive.org audio) to Hugging Face Spaces
This deploys the slim, **text-only** search service. Audio streams from archive.org, so the
Space hosts **no audio** and runs **no ASR** β€” only bge-m3 (CPU) for query embedding.
## Prerequisites
- The offline index is built (you've run `bulk_ingest.py` for the files you want searchable).
- A free Hugging Face account.
## One-time setup
1. **Export the index** (locally):
```bash
python scripts/export_index.py # -> deploy/index/lancedb
```
2. **Create a Space** β†’ https://huggingface.co/new-space β†’ SDK: **Docker** β†’ Hardware:
**CPU basic (free)**.
3. The Space repo's root `README.md` must begin with this front matter (tells Spaces the
port and SDK):
```yaml
---
title: SearchAudio
sdk: docker
app_port: 7860
---
```
4. **Add these to the Space repo** (at the repo root):
- `app/` (the application code)
- `config.yaml`
- `requirements-online.txt`
- `Dockerfile` β€” copy `deploy/Dockerfile` to the repo root as `Dockerfile`
- `data/index/lancedb/` β€” the exported index, tracked with **Git LFS**:
```bash
git lfs install
git lfs track "data/index/lancedb/**"
git add .gitattributes data/index/lancedb
```
5. **Push.** The Space builds the Docker image and serves at
`https://<user>-<space>.hf.space`. First build downloads/bakes bge-m3 (a few minutes).
## Verifying after deploy
- Open the Space URL, run an English query, click a result β†’ it should play from the
timestamp, streaming from `archive.org`.
- `GET /api/config` should return `{"mode":"archive","audio_query":false}` (mic/upload hidden).
## Updating the searchable content later
Re-run ingestion locally β†’ `python scripts/export_index.py` β†’ commit the new
`data/index/lancedb` (LFS) β†’ push. The Space rebuilds automatically.
## Notes & upgrade path
- **Cold starts:** free Spaces sleep when idle (~30–60 s to wake). For always-on with a
custom domain, use a ~$5–7/mo instance (Render/Fly/Railway); on low-RAM tiers switch to an
int8 bge-m3-ONNX (see the design spec `docs/superpowers/specs/2026-07-01-online-deployment-design.md`).
- **Keep the archive.org item public** β€” playback depends on it.
- The audio-query (mic/upload) feature is intentionally disabled online; it remains available
in the local build.